当前位置: 技术问答>linux和unix
如何知道程序运行过程
来源: 互联网 发布时间:2016-07-29
本文导语: 想知道一个程序在启动过程中都运行了那些函数,例如从哪个类的那个方法跳到另一个类的另一个方法,谢谢。 注:我要测得这个程序就是konqueror如果哪位大侠知道,也可以直接告诉我konqueror的启动过程。 ...
想知道一个程序在启动过程中都运行了那些函数,例如从哪个类的那个方法跳到另一个类的另一个方法,谢谢。
注:我要测得这个程序就是konqueror如果哪位大侠知道,也可以直接告诉我konqueror的启动过程。
注:我要测得这个程序就是konqueror如果哪位大侠知道,也可以直接告诉我konqueror的启动过程。
|
接分
|
用strace可以查看一个进程都调用了哪些函数!
|
strace 命令。
|
不行,除非你自己加trace打印信息
|
是的,一般进函数加一个trace,出函数加一个trace,还有在错误处理的地方也要加trace.
然后可以定义一个宏类似于下面,这样你的trace只有在debug模式下才会打印
#ifdef DEBUG
#define debug_trace(xxx) printf(xxx)
#else
#define debug_trace(xxx)
然后可以定义一个宏类似于下面,这样你的trace只有在debug模式下才会打印
#ifdef DEBUG
#define debug_trace(xxx) printf(xxx)
#else
#define debug_trace(xxx)
|
it should be considered before coding.
|
你可以用ida分析一下,会给你一个函数调用的流程图。