我正在使用GHS MULTI Debugger来调试嵌入式应用程序的完整性项目。有没有人知道如何配置这个调试器的停止抛出,就像你可以在GDB中做的那样?我想在抛出异常时让它中断。 (我知道大部分SO都没有开发Integrity项目或使用MULTI调试器,但我想我会把它扔到那里看看是否有其他Integrity开发人员可能知道)。
答案 0 :(得分:1)
对于此示例,我们假设您的Integrity项目名为Test.gpj。
在编译代码之前,在文本编辑器中编辑Test.int文件并更改" StartIt"值为false。这将阻止可执行文件在加载时立即启动。
然后在模拟器(或目标)中,加载可执行文件时,使用Test_as0文件开始调试它。
在“多命令”行中,输入:
e __throw
在此函数的开头设置断点(将断点设置为任何任务断点)。
对__rethrow函数重复此操作。
现在,当您的可执行文件正在运行时发生未处理的异常时,它将触发其中一个断点。然后,您可以导航调用堆栈并查看此异常发生的位置。 (调试器GUI中有一个选项可以在堆栈帧中上下导航)。或者,您可以输入:
Ctrl + + 和 Ctrl + - 将在堆栈帧中上下导航以查找遇到异常。