【问题标题】:Is it possible to set a ranged breakpoint in TRACE32 using symbols?是否可以使用符号在 TRACE32 中设置范围断点?
【发布时间】:2020-11-24 09:50:09
【问题描述】:

我想在 TRACE32 软件中使用符号名称设置一个范围断点。通常的语法是这样的
start--end
但依赖于我的 ELF,我需要这样的动态范围
0x00--SYM_NAME.

有可能吗?如果是,如何?

感谢高级


我为 PowerPC 使用 DIAB(现在的 Windriver)编译器,TRACE32 版本是 2013 年 8 月。

【问题讨论】:

    标签: debugging breakpoints trace32 lauterbach


    【解决方案1】:

    TRACE32 区分普通地址和修饰地址(=访问类别 + 地址)。范围允许以下地址组合:

    <plain address>--<plain address>
    <decorated address>--<plain address>
    <decorated address>--<decorated address>
    

    如果你想使用调试符号作为范围结束,你有两种选择:要么将调试符号转换为纯地址,要么确保第一个地址也被修饰。不推荐使用第二个选项,因为它需要知道要使用哪个访问类。

    Break.Set 0x0--(ADDRESS.OFFSET(my_func)-1)
    Break.Set P:0x0--(my_func-1)
    

    获得所需范围的另一种方法可能是使用部分信息,例如在整个 .text 部分设置断点范围:

    Break.Set sYmbol.SECPRANGE(\\my_program\.text)
    

    或者从一个部分的开始直到某个函数:

    Break.Set sYmbol.SECADDRESS(\\my_program\.text)--(sYmbol.BEGIN(my_func)-1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-03
      • 1970-01-01
      • 2021-08-15
      • 2012-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多