Empty CodeChecker invocation triggers error
**Describe the bug**
```
(venv) xazax@cc:~/codechecker/build/CodeChecker/bin$ CodeChecker
Traceback (most recent call last):
  File "/home/xazax/codechecker/build/CodeChecker/cc_bin/CodeChecker.py", line 127, in main
    args.func(args)
AttributeError: 'Namespace' object has no attribute 'func'
```

**CodeChecker version**
```
CodeChecker analyzer version:
---------------------------------------------------------------
Kind                 | Version
---------------------------------------------------------------
Base package version | 6.12.0
Package build date   | 2020-03-05T11:46
Git commit ID (hash) | bc8e63c611af937e6ac2b9f747279136bd3eb5e7
Git tag information  | 6.12
---------------------------------------------------------------

CodeChecker web version:
------------------------------------------------------------------------
Kind                          | Version
------------------------------------------------------------------------
Base package version          | 6.12.0
Package build date            | 2020-03-05T11:46
Git commit ID (hash)          | bc8e63c611af937e6ac2b9f747279136bd3eb5e7
Git tag information           | 6.12
Server supported API (Thrift) | 6.26
Client API (Thrift)           | 6.26
------------------------------------------------------------------------
```

**To Reproduce**
See the invocation above.

**Expected behaviour**
Print the help text.

**Desktop (please complete the following information)**
 - OS: Linux
 - Browser: Not applicable
 - Version: Version of what? Template needs to be clarified.

**Additional context**
No additiona context.


diff --git a/analyzer/tests/functional/cmdline/test_cmdline.py b/analyzer/tests/functional/cmdline/test_cmdline.py
index 8c5e25c5..8f60c2ae 100644
--- a/analyzer/tests/functional/cmdline/test_cmdline.py
+++ b/analyzer/tests/functional/cmdline/test_cmdline.py
@@ -46,6 +46,12 @@ class TestCmdline(unittest.TestCase):
         # Get the CodeChecker cmd if needed for the tests.
         self._codechecker_cmd = env.codechecker_cmd()
 
+    def test_no_subcommand(self):
+        """ Call CodeChecker without subcommand. """
+
+        main_cmd = [env.codechecker_cmd()]
+        self.assertEqual(0, run_cmd(main_cmd)[0])
+
     def test_version_help(self):
         """ Test the 'analyzer-version' subcommand. """
 
diff --git a/bin/CodeChecker.py b/bin/CodeChecker.py
index 1c410441..4089d2fd 100755
--- a/bin/CodeChecker.py
+++ b/bin/CodeChecker.py
@@ -124,7 +124,10 @@ output.
                 sys.argv.extend(cfg_args)
                 args = parser.parse_args()
 
-        args.func(args)
+        try:
+            args.func(args)
+        except AttributeError:
+            parser.print_help()
 
     except KeyboardInterrupt as kb_err:
         print(str(kb_err))
['analyzer/tests/functional/cmdline/test_cmdline.py', 'bin/CodeChecker.py']