summary refs log tree commit diff stats
path: root/doc
ModeNameSize
-rw-r--r--cd-after-exit.txt4089log stats plain blame
d---------pydoc3374log stats plain
d---------uml547log stats plain
a id='n66' href='#n66'>66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
<!DOCTYPE html>
<html dir="ltr" lang="en">
    <head>
        <meta charset='utf-8'>
        <title>GDB - C</title>
    </head>
    <body>

        <a href="index.html">Development Index</a>
        <h1>GDB - C</h1>

        <p><a href="http://blog.fourthbit.com/2013/06/18/creating-an-open-source-program-in-c-with-autotools-part-1-of-2/">C program with autotools</a>
        </p>

        <pre>
        $ touch NEWS README AUTHORS ChangeLog
        $ mkdir -p src/bin src/lib
        </pre>

        <p>
        <a href="http://web.eecs.umich.edu/~sugih/pointers/gdbQS.html">GDB Quick Start</a>,
        <a href="https://www.hackerschool.com/blog/5-learning-c-with-gdb">Learning C with GDB</a>
        and <a href="http://www.dirac.org/linux/gdb/02a-Memory_Layout_And_The_Stack.php">Memory Layout and the Stack</a>
        are great sources of introductory information.</a>
        </p>

        <p>To use gdb you need to compile program with -g flag. To
        debug a program;</p>

        <pre>
        gdb program
        </pre>

        <p>If the program needs arguments you can set it;</p>

        <pre>
        (gdb)set args -parameter1 -parameter2
        </pre>

        <p>To start the program you can type run, this way gdb
        will try to run the program until the end. If program
        crash, gdb will stop it for debuging.</p>

        <pre>
        (gdb) run
        </pre>

        <pre>
        n - execute next line
        s - step in next line
        b - backtrace
        info locals
        print
        x
        </pre>

        <h2>SysCalls</h2>

        <pre>catch syscall open</pre>

        <h2>Threads</h2>

        <p>When new thread is created you receive
        a notification. To get information about
        threads;</p>

        <pre>
        info threads
        </pre>

        <p>To select thread;</p>

        <pre>
        thread 1
        </pre>

        <p><a href=" http://ftp.gnu.org/old-gnu/Manuals/gdb/html_node/gdb_39.html#SEC40">Stopping and Starting</a>
        multi-thread programs</p>

        <pre>
        break linespec thread threadno
        </pre>

        <h2>Strace</h2>

        <pre>
        strace -c ./program
        </pre>

        <a href="index.html">Development Index</a>
        <p>This is part of the c9-doc Manual.
        Copyright (C) 2016
        c9 Team.
        See the file <a href="../fdl-1.3-standalone.html">Gnu Free Documentation License</a>
        for copying conditions.</p>
    </body>
</html>