C 运行时注入分析策略
我正在嵌入式平台上开发一种体系结构,由于实时性的限制,我无法与JTAG调试器一起使用 我的想法是基于链接器内存映射文件(这是一个包含所有符号和地址的漂亮XML文件)实现一种入侵探查器 在运行期间以及使用正确的声明编译目标时,我可以在函数的开头和结尾添加一条JMP指令以对其进行基准测试 使用这些间谍,我可以记录特定函数的执行时间以及堆栈状态 目前,我的目标接口是用Python编写的,我正在考虑以下分析方法:C 运行时注入分析策略,c,profiling,profiler,C,Profiling,Profiler,我正在嵌入式平台上开发一种体系结构,由于实时性的限制,我无法与JTAG调试器一起使用 我的想法是基于链接器内存映射文件(这是一个包含所有符号和地址的漂亮XML文件)实现一种入侵探查器 在运行期间以及使用正确的声明编译目标时,我可以在函数的开头和结尾添加一条JMP指令以对其进行基准测试 使用这些间谍,我可以记录特定函数的执行时间以及堆栈状态 目前,我的目标接口是用Python编写的,我正在考虑以下分析方法: p = Profiling('memorymap.xml') trigger = p.Ad
p = Profiling('memorymap.xml')
trigger = p.AddTrigger('interrupt_isr', variable_change = 'var_foo')
p.AddSpy('function_foo', nacquisitions = 8, trigger = trigger)
一旦满足触发条件,spy将开始记录函数函数\u foo
的下一个8次执行。在函数interrupt\u isr
的开头添加一个触发器,并在变量var\u foo
更改时触发
目前,我对自己的评测策略不是很满意。有没有什么标准的评测界面可以让我从中获得灵感
喷射机构由几个步骤组成:
这个东西是否有一个调试器,比如GDB?有一个调试器,甚至还有
gprof
,但这些工具的目标是用于JTAG连接或模拟。独立运行时解决方案不可用,因此我需要自己的解决方案。顺便说一句,我仍然不明白如何将gprof
与安装gprof
的相同体系结构上无法运行的可执行文件一起使用……我之所以这样问,是因为如果您有一个调试器,您可以使用它或方法。它们的工作原理与获取时间测量值的典型分析器略有不同。这些方法依赖于加速机会的特性,即它们优先被随机时间中断吸引。如果你有一个模拟器,你可以在那里做。你在模拟器上得到的任何加速都可能会转移到嵌入式硬件上。