修复运行时错误的策略

时间:2009-08-23 18:54:29

标签: memory gdb runtime

我想知道你们用什么策略来修复运行时错误?真的很感激,如果你能分享一些提示!

以下是我的一些想法(可能在gdb的帮助下):

当由于某些内存被错误访问而发生运行时错误时,存储在转储核心中的地址是否显示内存所在的位置?

如果我能找到被访问的地址/内存导致运行时错误,是否可以找出哪个变量正在使用该地址(可能位于变量内存的开头或中间)?并找出附近的变量,将内存降低到内存块的正下方?

如果所有这些都可行,那么修复错误会有帮助吗?

谢谢和问候!

1 个答案:

答案 0 :(得分:1)

我使用gdb的--args选项从命令行启动我的程序。

示例:

gdb --args foocode --with-super-awesome-option
run

这将加载程序foocode并将--with-super-awesome-option参数传递给它。当程序失败时,您将可以使用即用型gdb会话。

从那里你可以使用backtrace命令:

bt

这将显示导致崩溃的事件链(函数调用)。