导航:首页 > 程序命令 > linuxgdb执行命令

linuxgdb执行命令

发布时间:2022-07-31 05:20:41

A. 如何使用linux下gdb来调试python程序

Linux下使用pdb简单调试python程序

python自带调试工具库:pdb

# -*- coding:utf-8 -*-

def func(num):
s = num * 10

return s

if __name__ == '__main__':
print 'debug starting...'
print '*' * 10
print 'debug ending…'
num = 100
s = func(num)
print s
在python文件中不引用pdb库,可以在执行python文件的时候,加上参数:

python -m pdb demo.py

来到pdb调试交互界面,debug模式将会停止在的第一行程序代码行

可以执行如下命令,进行相应的操作:

b(or break):设置断点;设置函数:b demo.func;设置行数:b demo:14(行数)

n(or next):执行下一行:
Step over,跳过

c(or continue):执行下一个断点,没有断点则到程序结束:Step filter

s(or step):进入函数,
Step into,单步跳入

r(or return):跳出函数,Step return

l(or list):查看当前代码段

q(or quit):退出当前debug

p(or print):打印变量值

h(or help):查看帮助

cl(clear):清除所有节点

disable [bpnumber[bpnumber]]:将第num个断点失效,enable,失效第10个断点

enable [bpnumber[bpnumber]]:启用第num个断点,enable 10,启用第10个断点

w(where):打印堆栈信息

a(args):打印当前函数参数信息

当然我们也可以使用pdb库的函数,来实现对py的debug:

比如:我们可以使用pdb函数:set_trace()

def func(num):
s = num * 10

return s

if __name__ == '__main__':
print 'debug starting...'
print '*' * 10
pdb.set_trace()
print 'debug ending…'
num = 100
s = func(num)
print s
执行程序:python pdb_demo.py

此时意味着给程序设置断点行,将会自动运行至print ‘py ending...’停住,让开发者继续触发接下来的操作,该操作在一个py引用其他py的时候,设置断点恰到好处。

B. linux 下用gdb进行调试.c程序,执行run命令时提示权限不够,怎么办

.c是源文件,不是程序,没有可执行权限,所以不能用来调试。
应该先用gcc来编译,编译之后的程序就具有可执行权限的。
如果我们想用来调试,比如1.c,可以这样
gcc 1.c -o 1.out -g
然后
gdb 1.c
gdb的用法自己再去找详细资料吧,一般会用l(list,列出源代码),b(break,设置断点),r(run,运行文件)就可以了。

C. linux gdb基础命令

你的gdb压根就没有解析出来断点,你的库有问题。你run后bt一下就可以进入断点的
你把代码发我吧,给你调试

D. Linux下gdb调试的几个简单命令

和在IDE上差不多,无非是单步 继续 断点之类的
list列出代码
run运行
step单步
break断点
watch查看变量
。。。。

E. linux入门基础(四)Gdb调试程序

Gdb调试
注意:在Gcc编译选项中一定要加入
–g
退出GDB:quit

Ctrl+d
调试过程:
1.
查看文件
命令:
(gdb)
l
命令:(gdb)
b
行号
注:到第17行停止,并没有执行17行
3.
查看断点情况
info
b
4.
运行代码
r
命令:
(gdb)
r
(也可以指定行开始运行,在r后面加上行号)
5.
查看变量值
p
命令:(gdb)
p
变量名
6.
设置监视点:
watch
z
(变量名)
也可以是复杂的表达式
7.
单步运行
命令:(gdb)
n
(逐过程)
8.逐步,会进入函数
命令:(gdb)
s
9.条件断点
将正常断点转变为条件断点:condition
如:condition
1
i
==
10
只有当满足条件i
==
1时,才会在断点1处暂停
10.
恢复程序运行
c
命令:
(gdb)
c
(程序就会运行,如果没有断点,就运行剩下部分,如果有断点,就会运行到下一个断点)
11.
去除断点
clear
line_number
clear
filename:line_number
12.
help
12.1
help找出类别
12.2help从列表中

F. linux下gdb怎么不执行.gdbinit

运用以下2个命令即可:next //执行下一行源代码,但并不进入调用函数内部
step //执行下一行源代码,进入函数内部,这个时候,可以在调用函数里面加断点。
gdb中的函数调用:
call name 调用和执行一个函数(gdb) call gen_and_sork(1234,1,0)(gdb) call printf(“abcd”)=4finish 结束执行当前函数,显示其返回值(如果有的话)

G. linux下的gdb是个命令,但在linux常用命令列表中找不到

首先,一般的命令其实也都是程序
装在系统路径下的程序的程序名,都可以作为命令直接调用
具体哪些路径是“系统路径”,Linux下可以用$PATH$命令来查看(通常会有多个路径,用冒号隔开)
而gdb其实是gcc/g++编译器的一个附带的调试器
虽然现在主流的Linux发行版中都会自带gcc编译器,当然也会附带这个gdb的调试器
但毕竟它不算是Linux系统的内部组件,所以自然也不能算做Linux的自带命令了

H. linux用gdb调试遇到函数调用怎么办

运用以下2个命令即可:
next
//执行下一行源代码,但并不进入调用函数内部
step
//执行下一行源代码,进入函数内部,这个时候,可以在调用函数里面加断点。
gdb中的函数调用:
call
name
调用和执行一个函数(gdb)
call
gen_and_sork(1234,1,0)(gdb)
call
printf(“abcd”)=4finish
结束执行当前函数,显示其返回值(如果有的话)

I. linux中 怎么使用gdb调试程序

gdb是用来调试二进制程序的,不能调试python脚本。 python自带pdb模块,可以用来调试自己的脚本。 使用python -m pdb ,交互方式,命令与gdb类似。

J. linux 下用gdb进行调试.c程序,执行run命令时提示权限不够,怎么办求解决方法

首先确定 abc是可执行文件, 然后确定当前执行gdb的用户有执行abc的权限

阅读全文

与linuxgdb执行命令相关的资料

热点内容
matlab信赖域算法 浏览:423
互联网编程难吗 浏览:390
c语言算法书籍 浏览:526
3D图怎么加密 浏览:943
单片机程序图片 浏览:186
剪应力计算法 浏览:819
如何自己搭建url跳转服务器 浏览:983
广数980tb3用g83钻孔怎么编程 浏览:576
程序员上海与北京 浏览:405
安卓手机的动态照片为什么卡 浏览:538
ad编译集成库时最常见的问题 浏览:848
matlab微分方程编程 浏览:700
安卓手机如何打开esp文件 浏览:547
什么app能安装应用 浏览:201
手机用什么app看电视剧电影好 浏览:603
导入原理图为什么文件夹不显示 浏览:658
androidapp风格 浏览:211
php取服务器url地址 浏览:293
linux时间调度算法 浏览:771
单片机最小电路详解 浏览:185