簡體   English   中英

如果先前的命令失敗,GDB命令將停止執行

[英]GDB commands stop execution if previous command fails

在GDB中,要在擊中斷點時打印數組中所有指針的值。 可能存在值為0x0的數組元素。

例如:

arr[] = {0x0, 0x5cb04, 0x5510, 0x0, 0x5c84}

(gdb) info b
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   0x1234 in fun1 at file1.c:200
        p arr
        p *arr[0]
        p *arr[1]
        p *arr[2]
        p *arr[3]
        c

但是GDB無法打印* arr [1],* arr [2],* arr [3],coz的值

* arr [0]遇到錯誤

“無法訪問地址0x0的內存”。

是否有解決此問題的方法或解決方法?

gdb print命令可以使用任何有效的表達式 ,因此您可以執行以下操作:

p (arr[0]) ? *arr[0] : "null"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM