相关疑难解决方法(0)

如何将调试器附加到正在运行的Perl进程?

我有一个运行的Perl进程被卡住,我想用调试器戳到里面看看有什么问题.我无法重启这个过程.我可以将调试器附加到正在运行的进程吗?我知道我能做到gdb -p,但gdb对我没有帮助.我试过Enbugger,但失败了:

$ perl -e 'while (1) {}'&
[1] 86836
$ gdb -p 86836
…
Attaching to process 86836.
Reading symbols for shared libraries . done
Reading symbols for shared libraries ............................. done
Reading symbols for shared libraries + done
0x000000010c1694c6 in Perl_pp_stub ()
(gdb) call (void*)Perl_eval_pv("require Enbugger;Enbugger->stop;",0)
perl(86836) malloc: *** error for object 0x3: pointer being realloc'd was not allocated
*** set a breakpoint in malloc_error_break to debug

Program received signal SIGABRT, Aborted. …
Run Code Online (Sandbox Code Playgroud)

debugging perl gdb

33
推荐指数
3
解决办法
6648
查看次数

标签 统计

debugging ×1

gdb ×1

perl ×1