MULTI调试器在异常时抛出/中断时停止

时间:2017-10-05 17:34:42

标签: debugging exception breakpoints

我正在使用GHS MULTI Debugger来调试嵌入式应用程序的完整性项目。有没有人知道如何配置这个调试器的停止抛出,就像你可以在GDB中做的那样?我想在抛出异常时让它中断。 (我知道大部分SO都没有开发Integrity项目或使用MULTI调试器,但我想我会把它扔到那里看看是否有其他Integrity开发人员可能知道)。

1 个答案:

答案 0 :(得分:1)

对于此示例,我们假设您的Integrity项目名为Test.gpj。

在编译代码之前,在文本编辑器中编辑Test.int文件并更改" StartIt"值为false。这将阻止可执行文件在加载时立即启动。

然后在模拟器(或目标)中,加载可执行文件时,使用Test_as0文件开始调试它。

在“多命令”行中,输入:

e __throw

在此函数的开头设置断点(将断点设置为任何任务断点)。

对__rethrow函数重复此操作。

现在,当您的可执行文件正在运行时发生未处理的异常时,它将触发其中一个断点。然后,您可以导航调用堆栈并查看此异常发生的位置。 (调试器GUI中有一个选项可以在堆栈帧中上下导航)。或者,您可以输入:

Ctrl + + Ctrl + - 将在堆栈帧中上下导航以查找遇到异常。