安装
- 前提有安装nim和mingw等
- nim新版本已加入nim-gdb工具方便调试, 没有可以下载放nim/bin下
- 下载安装python3
- 修改 nim/config/nim.cfg 里 大概214行 gcc.options.debug = "-g3 -O0 -gdwarf-3" 可以调试不溢出问题
使用方法
首先我们写个dtest.nim
proc foo(x: int): int =
let y = x + 2
return y * 10
proc bar(x: int): int =
if x == 3: return foo(x)
return x * 100
proc main =
var a = 1
let str = "foobar"
var seq1 = @[0, 1, 2, 3, 4]
a = bar(1)
a = bar(2)
a = bar(3)
main()
然后终端运行 调试参数--debugger:native
编译nim文件nim c --debugger:native dtest.nim
编译完使用nim-gdb来调试程序nim-gdb dtest
使用break或b 来设置断点
用run或r 来运行, 就会停在第8行断点
list或l 来查看行数周围的代码列表
next或n 来运行下一行, print或r 查看变量
step或s 进入函数地址, continue或c运行到断点或结束, finish或fin 运行到跳出当前模块或断点
backtrace或bt 查看模块运行步骤, 从下往上
info break和delete或d 查看和删除断点
info locals查看当前模块变量
watch可以让选择查看的变量改变时 变成断点
until或u 可以跳出循环模块 像while, for等
来源:oschina
链接:https://my.oschina.net/angluca/blog/3202507