This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
大家好、在调试期间、我需要使用 具有 DSS API 的 Java 脚本跳转到所需的源代码行(与 CSS 编辑器中的"移动到行"相同)(可以调用 GEL)。 我在 API 中找不到所需的指令。 当然、可以在目标代码中看到该行的地址、然后 使用 类似的方法将 PC 寄存器设置为该地址
debugSession.expression.evaluate ("PC = 0x0001DF64")
但这种方法不适合我的目标。 我不知道如何 在 Java 脚本中接收行的地址。
那么、是否可以仅知道源代码文件中的行号?
提前感谢!
您好!
[引用用户="eGor Jakimenko"]
当然、可以在目标代码中看到该行的地址、然后 使用 类似的方法将 PC 寄存器设置为该地址
debugSession.expression.evaluate ("PC = 0x0001DF64")
[/报价]
更好的选择是:
debugSession.memory.writeRegister ("PC"、0x0001DF64)
[引用用户="eGor Jakimenko"]
但这种方法不适合我的目标。 我不知道如何 在 Java 脚本中接收行的地址。
那么、是否可以仅知道源代码文件中的行号?
[/报价]
而不是直接。 我们还会想到其他几种环形路。
第一种方法是在所需的源代码行上放置标签。 然后您可以查找该标签的地址
var addr = debugSession.symbol.getAddress ("label");
debugSession.memory.writeRegister ("pc"、addr);
另一个选项是在该地址设置源代码行断点。 您可以通过读取断点属性来获取该断点的地址(请参阅 DSS API 文档中的"BreakpointProperties"类)。
谢谢
Ki
Ki、感谢您的支持、
[引用 user="Ki"]
第一种方法是在所需的源代码行上放置标签。 然后您可以查找该标签的地址
[/报价]
不得修改源代码、因此无法添加标签。
[引用 user="Ki"]
另一个选项是在该地址设置源代码行断点。 您可以通过读取断点属性来获取该断点的地址(请参阅 DSS API 文档中的"BreakpointProperties"类)。
[/报价]
据我所知、断点属性是使用"breakpoint.createProperties"创建的、所有属性都在此处设置。 但是、我只能直接设置地址
props = debugSession.breakpoint.createProperties ()
props.setString("Hardware Configuration.Location"、0x1df64)
但它 不接受文件和行、如
props.setString("Hardware Configuration.Location"、"../v_src/Application/startup/SystemInit/SystemInit.c、第63行")
断点、那么它将是您的不可选择
debugSession.breakpoint.add("../v_src/Application/StartUp/SystemInit/SystemInit.c"、63)
我不知道如何 获取创建的断点的属性。 有可能吗?
UPD:
我刚才找到 了设置源代码和行的方法:setSourceLocation。
但我仍然不理解如何从断点读取属性。
以下指令
Addr = props.getString ("Hardware Configuration.Type.Type.Location.Address")
导致错误-找不到属性地址
那么、在本例中如何获取地址呢?
[引用用户="eGor Jakimenko"]
但我仍然不理解如何从断点读取属性。
以下指令
Addr = props.getString ("Hardware Configuration.Type.Type.Location.Address")
[/报价]
尝试 getNumeric 并删除属性字符串末尾的"Address")
Addr = props.getNumeric ("Hardware Configuration.Type.Location");
谢谢
Ki
Ki、
是的、它就是这样工作的。
非常感谢 !