gdb可以调试python的pdb么?

答案:可以,实验如下。

 

2.实验:

生成一个a.py代码文件,代码如下:

import pdb

a = 1
print "111",a
pdb.set_trace()
a = 2
print "222",a

 

gdb python

(gdb) b main
Breakpoint 1 at 0x400770: file ./Modules/python.c, line 23.
(gdb) b exit
Function "exit" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 2 (exit) pending.

Breakpoint 2 (exit) pending.
(gdb) r a.py

Breakpoint 1, main (argc=2, argv=0x7fff6d9883f8) at ./Modules/python.c:23
23 ./Modules/python.c: No such file or directory.
in ./Modules/python.c =====================(到达main断点)

(gdb) c =====================(继续执行)
Continuing.
111 1
> /home/users/dodng/tmp/a.py(6)<module>()
-> a = 2
(Pdb) p a =====================(到达pdb断点,用pdb查看变量a的值)
1
(Pdb) n =====================(用pdb next)
> /home/users/dodng/tmp/a.py(7)<module>()
-> print "222",a

(Pdb) c
222 2

Breakpoint 3, 0x0000003f0b030c00 in exit () from /lib64/tls/libc.so.6
(gdb) bt =====================(到达exit断点)
#0 0x0000003f0b030c00 in exit () from /lib64/tls/libc.so.6
#1 0x0000003f0b01c4c2 in __libc_start_main () from /lib64/tls/libc.so.6
#2 0x00000000004006da in _start ()

 

相关文章:

  • 2022-12-23
  • 2021-11-17
  • 2021-11-17
  • 2021-11-17
  • 2022-01-11
  • 2021-11-23
  • 2021-05-31
猜你喜欢
  • 2021-11-20
  • 2021-11-17
  • 2021-11-17
  • 2021-11-17
  • 2021-11-17
  • 2021-12-04
相关资源
相似解决方案