【问题标题】:Debugging a programmatically called function with GDB使用 GDB 调试以编程方式调用的函数
【发布时间】:2012-04-26 01:32:59
【问题描述】:

我正在为 ARM32 调试一个软件。我已经能够使用call 甚至print 以编程方式调用GDB 中的函数。问题是我似乎无法在函数上设置断点,然后以编程方式调用它。例如,如果我这样做:

break test_function
call test_function()

然后我收到错误消息

被调试的程序在调用的函数中停止 广发银行。评估包含函数的表达式。当。。。的时候 函数执行完毕,GDB 将静默停止。

有没有办法使用 GDB 以编程方式调用函数单步执行?

【问题讨论】:

    标签: c gdb


    【解决方案1】:

    然后我收到错误消息

    The program being debugged stopped while in a function called from GDB. Evaluation of the expression containing the function. When the function is done executing, GDB will silently stop.

    这不是错误。这正是您想要发生的:触发断点,您现在可以进行调试了。

    【讨论】:

    • 谢谢。我对消息“删除”(gdb) 提示这一事实感到困惑。我没有意识到我可以继续调试。
    • 这被认为是一个错误。当您在-batch 模式下运行 gdb 时,这种情况会触发错误并退出 gdb。当然,手动调试时,可以忽略此消息,但在运行 gdb 脚本时我找不到抑制此消息的方法。
    猜你喜欢
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2020-04-27
    • 1970-01-01
    相关资源
    最近更新 更多