如何通过mips中的其他进程回溯正在运行的进程堆栈?

时间:2015-07-07 10:09:26

标签: c linux gdb stack-trace ptrace

我想通过进程B在进程A中回溯堆栈 我知道我可以使用gdb --pid pid_of_A,然后使用info stack来获取进程A中堆栈的回溯。

但是,我想通过代码实现它,而不是使用gdb。我读了gdb源代码来了解gdb是如何做到的,但是gdb要复杂才能理解。

你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

您应该使用libgdb。使用 libgdb ,您可以编程方式执行gdb命令,就像有人在进行交互式gdb会话一样。

这是使用的主要功能:

struct gdb_str_output gdb_execute_for_strings (char *cmd)

执行cmd中的命令(例如backtrace)并返回包含命令输出的结构。