Difference between revisions of "Debugging - GDB tricks"

From Free Pascal wiki
Jump to navigationJump to search
([[category:Debugging)
Line 14: Line 14:
 
* Q: How do I examine an ansistring?
 
* Q: How do I examine an ansistring?
 
* A: "x/s <stringname>"
 
* A: "x/s <stringname>"
[[category:Debugging]]
+
 
 +
== Stop debugger on exception ==
 +
* Q: How to stop gdb on exception
 +
* A: b fpc_raiseexception
 +
 
 +
* Q: How to show call stack
 +
* A: bt
 +
 
 +
== Work with breakpoints ==
 +
* Add: b TObject__Method or b filename.pas:123
 +
* Show: inf b
 +
* Disable: dis 1
 +
* Enble: en 1
 +
* Delete: d 1
 +
* Delete all: d b

Revision as of 10:38, 27 March 2008

General tricks

  • Some pascal specific patches were excepted; so if possible set language to pascal "set language pascal"
  • To get help, use "help <command>" or "help" to see a category list.
  • To view datastructures raw, use the "x" command (see "help x")

Examining Type Info

  • Q: What function should I use for dumping the type info?
  • A: Run x/100c in gdb until it frames. then use 'frame <framenr>' to jump to the correct frame

Inspecting an ansistring

  • Q: How do I examine an ansistring?
  • A: "x/s <stringname>"

Stop debugger on exception

  • Q: How to stop gdb on exception
  • A: b fpc_raiseexception
  • Q: How to show call stack
  • A: bt

Work with breakpoints

  • Add: b TObject__Method or b filename.pas:123
  • Show: inf b
  • Disable: dis 1
  • Enble: en 1
  • Delete: d 1
  • Delete all: d b