Differences between version 17 and revision by previous author of DeBugging.
Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History
Newer page: | version 17 | Last edited on Friday, June 25, 2004 1:13:58 pm | by JohnMcPherson | Revert |
Older page: | version 15 | Last edited on Thursday, June 3, 2004 11:45:19 pm | by MattBrown | Revert |
@@ -32,9 +32,11 @@
;frame: change which frame you are working on. eg: "frame 1" will change the scope to frame 1.
!!Other useful debugging tricks and traps:
!strace
-strace(1) lets you see what a program is doing in a coarse kind of way, if you think strace(1) is too quiet, perhaps ltrace(1) is for you. for the bsdites amongst us, I believe these are called struss(1) and sotrace(1).
The command for this is:
+strace(1) lets you see what a program is doing in a coarse kind of way, if you think strace(1) is too quiet, perhaps ltrace(1) is for you. for the bsdites amongst us, I believe these are called struss(1) and sotrace(1). [Darwin] ([MacOSX]) has ptrace and ktrace (and kdump to read the created file).
+
+
The command for this is:
strace ''programname''
if the program is already running:
strace -p ''pid''
will also work.
@@ -70,10 +72,12 @@
(gdb) cont
Note that the octal 0101 stands for O_CREAT|O_WRONLY, since gdb will complain about no debugging symbols for resolving those words otherwise. Check with your /usr/include files... the c library with debian testing at least has these definitions in /usr/include/bits/fcntl.h. (0100 + 01).
-!ddd
+!Graphical Debuggers
ddd(1) appears to be a reasonable [GUI] interface to gdb(1) for those that are afraid of [CommandLine]s.
+
+[Insight] is another.
!assert
use assert(3) everywhere in your source code. It's much nicer at finding your bugs closer to where the bug actually hides.