Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gdb-gdbserver跟踪远程程序执行_Gdb_Embedded Linux_Remote Debugging_Gdbserver - Fatal编程技术网

gdb-gdbserver跟踪远程程序执行

gdb-gdbserver跟踪远程程序执行,gdb,embedded-linux,remote-debugging,gdbserver,Gdb,Embedded Linux,Remote Debugging,Gdbserver,我试图提取我的程序的执行序列,比如本地计算机windows x86上的gdb程序计数器和远程目标arm linux上的gdbserver程序计数器。我的想法是在源文件的重要行插入断点,例如:在特定函数的开头,更一般地说,在每个断点都有一个高忽略计数的条件语句前后插入断点,然后检查是否命中断点。实际上,我可以用这种方法接收信息,但有一个问题:我正在调试的应用程序行为依赖于实时性,而这种特定的方法会大大降低程序的执行速度。你认为我可以用gdb的其他方法吗?我偶然发现了追踪点,它似乎正是我要寻找的东西

我试图提取我的程序的执行序列,比如本地计算机windows x86上的gdb程序计数器和远程目标arm linux上的gdbserver程序计数器。我的想法是在源文件的重要行插入断点,例如:在特定函数的开头,更一般地说,在每个断点都有一个高忽略计数的条件语句前后插入断点,然后检查是否命中断点。实际上,我可以用这种方法接收信息,但有一个问题:我正在调试的应用程序行为依赖于实时性,而这种特定的方法会大大降低程序的执行速度。你认为我可以用gdb的其他方法吗?我偶然发现了追踪点,它似乎正是我要寻找的东西,但我没能为它们找到一些类似于计数器的属性。我目前使用的gdb版本是7.5


事先非常感谢。

如果您的程序执行速度不能减慢,您可能需要一些硬件工具。请看这些:

可能还有其他类似的解决方案
对于内核代码,请考虑在目标上使用K探测和jPo探测。您可以使用它们将这些命中计数器保留在代码的有趣部分。不确定用户代码是否存在类似的机制,但我认为这是可能的。