有熟悉linux下C++编程的吗?
发布网友
发布时间:2022-04-23 05:53
我来回答
共1个回答
热心网友
时间:2023-06-30 02:44
获取程序执行轨迹,在程序每个基本块的入口或出口处记录全局数据段、栈中的局部变量的值----我觉得这个类似于一个调试器,我大致的思路是这样子的:
首先你要有目标程序的符号表,否则无法确定局部变量,全局变量等的值,这个可以在构建目标程序的时候选择保留符号表就是。其次需要找一个linux下的用来程序调试的库或开发包之类,这个一定是有的,你可以研究一下gdb是基于什么库的,估计可以拿来用。有了这个库,我们就可以以调试模式启动目标程序,当故障出现时,控制权被移交到你自己的调试跟踪程序中,然后你就可以查看call stack,在每个call处查询符号表,获取你想要的信息。