diff --git a/doc/debug.rst b/doc/debug.rst new file mode 100644 index 0000000..c15cabe --- /dev/null +++ b/doc/debug.rst @@ -0,0 +1,61 @@ +Debugging and Coverage information +================================== + +.. _gdb-ref: + + +Debugging with GDB +------------------ + +In one terminal do: + +.. code-block:: bash + + $ ./simple.c.bin --debug + Process simple.c.bin created; pid = 20803 + Listening on port 1234 + +In another terminal connect to this debug session: + +.. code-block:: bash + + $ gdb -q ./test + Reading symbols from ./test...done. + (gdb) target remote localhost:1234 + Remote debugging using localhost:1234 + 0x00007ffff7dd9d90 in _start() from target:/lib64/ld-linux-x86-64.so.2 + (gdb) continue + ... + [Inferior 1 (process 25269) exited normally] + (gdb) q + +After ``continue`` the first test is run: + +.. code-block:: bash + + Remote debugging from host 127.0.0.1 + [RUN ] misc::failing + [----] /media/data/devel/Criterion/samples/simple.c:4: Assertion failed: The expression 0 is false. + [FAIL] misc::failing: (0,00s) + + Child exited with status 0 + +And a new process is created for the next test: + +.. code-block:: bash + + Process /media/data/devel/Criterion/build/samples/simple.c.bin created; pid = 26414 + Listening on port 1234 + +Connect your remote debugger to this test with ``remote target localhost:1234`` +and run the test with ``continue`` + +To use a different port use ``--debug --debug-transport=`` + +.. _coverage-ref: + +Coverage of Criterion tests +--------------------------- + +To use gcov, you have to compile your tests with the two GCC Options +``-fprofile-arcs`` and ``–ftest-coverage``. diff --git a/doc/index.rst b/doc/index.rst index b36d413..ce51d66 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -15,4 +15,5 @@ Criterion parameterized theories internal + debug faq