调试方法

日志

日志级别

  • INFO
  • DEBUG
  • WARN
  • ERROR
  • FATAL
  • TRACE

调试器

通用概念

普通断点

条件断点

单步调试

跳入跳出函数

因为每一行c代码都可能有多个函数,所以一般情况下断在一行代码上,跳入的可能并不是自己期望的函数,所以需要先跳出,然后继续跳入,直至跳入期望的函数。

gdb

普通断点

gdb可以断在某一行,或者某个函数上,使用命令break,或者n。 断在某一行,例如 b test.c:100 断在某个函数上,例如 b func

单步调试

使用next命令,或者n。

跳入跳出函数

对于gdb而言,跳入函数使用step命令,或s。跳出函数使用finish命令,或fin。

lldb

windbg