问题标签 [trace32]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powerpc - Lauterbach CMM 脚本 symbol.exit总是不一致
我正在调用命令go symbol.exit(myfunc)。有时程序控制到达函数的结尾,但有时它在函数的开头结束。
我们还有其他方法可以在函数结束时到达吗?请告诉我为什么我在我的环境中观察到这种行为。
command-line - 如何从 t32start 命令行界面启动和关闭 Trace32 实例?
我发现 Lauterbach Trace32 允许从命令行启动 Trace32 实例。
我有一个ts2 文件。我正在尝试使用 t32start.exe 来启动和关闭 Trace32 实例。我大致尝试了以下方法:
但是我无法用相同的方法关闭 Trace32 实例。谁能告诉我他打开和关闭 Trace32 实例的正确方法?
更新
有时,GUI 可能必须在目标仍在运行时强制关闭。(可能是因为挂起或 DAP 配置失败)。
在这些情况下,重新启动 GUI 时会出现以下弹出窗口:
这会阻止使用 Trace32,因为此后远程访问总是返回通信失败。有没有办法通过将标志传递给 trace32.exe 命令或其他方式来自动重置目标(按“是”)?
scripting - 如何使用劳特巴赫脚本检测断点是否命中 trace32 中的函数?
我正在修改劳特巴赫脚本。我需要检查断点是否在我想要命中的同一断点上正确命中。
Task_func 有一个可运行的 Runnable_Func
我用了这件作品;
但在这种情况下,我得到了拥有函数的真实值(在这种情况下是 Task_Func)。
我可以用相同的方式检查可运行的断点吗?我需要 Runnable_Func 的真实条件。我做的另一个尝试是
&call=address.offset(Task_NoAr_Schd_50msfunc\10)
有人知道其他选择吗?
干杯,尼莱什
trace32 - Trace32 配置文件错误
我正在使用以下设置来控制使用 C# 脚本执行的 trace32 cmm 脚本。
Node="localhost"
Port="20000"
PackLen="1024"
Device="1"
不知何故,我最近卸载并安装了 trace32 并丢失了配置文件。现在我无法执行 T32_Init() 函数本身。有人可以给我配置文件内容吗?
trace32 - 劳特巴赫宏的懒惰评价——有可能吗?
我目前正在为使用劳特巴赫脚本执行的测试编写某种“骨架”。
在这个框架中,我想要一个部分,其中所有测试特定定义都应该完成,例如设置中断的函数,要更改的变量等。这部分应该靠近脚本文件的顶部,以便其他用户执行不必通过完整的脚本文件,在这里和那里更改值。
将要使用的一些变量在要测试的 C 代码中定义为函数局部。因此,只有在输入该函数的范围后,这些才可用于 Lauterbach 脚本 - 这深深地位于框架脚本代码中。
有没有办法在输入范围之前为这些变量定义宏?
让我们给出一些示例结构:
问题是劳特巴赫抱怨- 这是正确的&varToBeSet=status
,Symbol not found in this context
因为它是一个局部变量。
通过 View->Symbols->SymbolsTreeView(或通过给出命令Symbol.List.Tree
)查看符号,我可以找到符号(在这种特殊情况下,在节点 some_module.some_function.status 下找到)。单击它会在 TRACE32 状态行中提供信息,其中\\some_app\some_module\some_func\status
包含type (auto STATUS)
、scope local
、location stack
。
但是,将我的脚本更改为 read&varToBeSet=\\some_app\some_module\some_func\status
而不是&varToBeSet=status
,并没有多大帮助。在这种情况下,劳特巴赫抱怨no access to that symbol
.
有没有办法,我可以将宏的评估延迟到实际使用它的某个点,而不是在定义它时对其进行评估?
trace32 - 将所有函数符号及其基地址转储到 trace32 中的文本文件
我正在尝试将带有函数基地址的精灵中的所有函数符号导入文本文件。我正在使用以下 2 个命令来执行此操作
但是在这个过程中,完整的函数名被终止了。我得到这样的输出:
我想要地址和完整路径\符号(第二列)。请注意,符号表非常大,增加剪贴板大小和选择“到剪贴板全部”将不起作用。我知道如果我有函数基址,我可以得到函数名。但是,在我的实现中,我需要知道基地址和函数全名以提高效率。
我想知道是否可以通过某些命令增加第二列的宽度,以便在使用 winprint 命令后获得完整的函数名称
trace32 - 设备中出现trace32“访问超时,目标正在运行”错误
每当我尝试运行设备以调试 C 代码时,我都会收到此错误,这是什么意思?这是否意味着堆栈或堆内存错误?最初当我再次尝试运行它时它运行良好,我一次又一次地收到此错误。
trace32 - 查询函数符号是否存在
我可以sYmbol.Browse.Function
用来浏览加载到内部 TRACE32 符号数据库的函数符号;引用一般参考 [S]:
sYmbol.Browse.Function
允许您浏览已加载到内部 TRACE32 符号数据库的函数列表,使用
Data.LOAD
.
我正在编写一个读取用户输入(函数符号名称)的实用程序,如果输入无效的函数符号,阻止用户继续前进会很有帮助。我目前正在使用Trace.Find ADDress <name_of_function>
后跟查询FOUND()
。
问题:
- 查询特定函数符号名称是否存在的惯用方法是什么?
scripting - 如何在 PRACTICE 脚本循环运行(和阻塞)执行时在劳特巴赫使用 AddMenu?
我创建了一个 PRACTICE Lauterbach 脚本,以便从不同情况的缓冲区中检索某些字符串。
我在从中检索缓冲区的不同位置放置了 4 个断点。
我想以非阻塞方式检索信息,就好像它是一个中断服务程序一样。为此,我使用了 GLOBALON 命令,如下:
在 BB_HIT_CALLBACK 中,我为 4 个断点中的每一个插入了服务例程。
另一方面,在正常执行中,我放置了一个简单的无限循环。
这使程序保持在一个循环中,仅由 GLOBALON PBREAK 命令中断。我希望能够有一个工具栏按钮来结束这个循环的执行,但是在运行时,脚本只响应断点,并且 UI 元素被忽略。
如何从 UI 元素停止执行循环?
我已经能够设置读取秒数,并在 60 秒时超时,但这对于我想要的来说还不够好。