Lolizeppelin's Blog

python配合gdb调试程序

Posted on By gcy

注意是gdb通过python脚本来调试程序,不是调试python代码,和pdb不是一回事,可以理解为gdb进程里实现了python虚拟机

参考1

如果觉得--ex很多行很麻烦 可以只--ex "source xxx.py" 来跑一个PYTHON脚本帮你

参考2

详细API

错误使用方式

[root@second ~]# python
Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named gdb
>>>

正确方式

首先,创建一个用于测试脚本

import gdb
help(gdb)

测试效果

[root@second ~]# gdb -q -x 1.py
Help on package gdb:
NAME
gdb
FILE
(built-in)
PACKAGE CONTENTS
FrameIterator
FrameWrapper
backtrace
command (package)
function (package)
CLASSES
__builtin__.object
Block
BlockIterator
Breakpoint
Command
Field
Frame
Function
Inferior
InferiorThread
Membuf
Objfile
Parameter
Progspace
Symbol
Symtab
Symtab_and_line
Type
Value
exceptions.Exception(exceptions.BaseException)
GdbError
class Block(__builtin__.object)