導航:首頁 > 程序命令 > 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執行命令相關的資料

熱點內容
進入組策略的命令 瀏覽:137
python數據結構和內存 瀏覽:25
python軟體功能簡介 瀏覽:784
外國程序員一般多少歲退休 瀏覽:917
怎麼看linux和時間伺服器 瀏覽:680
程序員搞笑花名 瀏覽:501
dota2怎麼設置國服伺服器地址 瀏覽:212
單片機高電平驅動 瀏覽:115
ios多選文件夾 瀏覽:909
加強行車調度命令管理 瀏覽:243
伺服器已禁用什麼意思 瀏覽:150
部隊命令回復 瀏覽:755
神奇寶貝伺服器地圖怎麼設置 瀏覽:382
加密演算法輸出固定長度 瀏覽:862
程序員去重慶還是武漢 瀏覽:121
伺服器如何撤銷網頁登錄限制 瀏覽:980
微信公眾平台php開發視頻教程 瀏覽:628
怎麼看蘋果授權綁定的app 瀏覽:255
壓縮機單級壓縮比 瀏覽:380
linux測試php 瀏覽:971