在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

GDB調試如何進行變量查看

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-09-26 16:17 ? 次閱讀

變量查看

  • 變量查看: 最常見的使用便是使用print(可簡寫為p)打印變量內容。
    以上述程序為例:

    gdb helloworld
    break helloworld.c:17 if i == 0
    (gdb) run
    Starting program: /home/book/helloworld
    helloworld.
    
    Breakpoint 2, main (argc=1, argv=0x7fffffffdca8) at helloworld.c:17
    17            result += i;
    (gdb) print i                < ------------------ 查看變量 i 當前的值
    $1 = 10
    (gdb) print result           < ------------------ 查看變量 result 當前的值
    $2 = 45
    (gdb) print argc             < ------------------ 查看變量 argc 當前的值
    $3 = 1
    (gdb) print str
    $4 = 0x4006c8 "Hello World" < ------------------ 查看變量 str 當前的值
    
  • 查看內存: examine(簡寫為x)可以用來查看內存地址中的值。語法如下:

    x/[n][f][u] addr
    

    其中:

    單元類型常見有如下:

    示例:

    (gdb) x/4b str
    0x4006c8:    01001000    01100101    01101100    01101100
    

    可以看到,變量 str 的四個字節都以二進制的方式打印出來了。

    • b 字節
    • h 半字,即雙字節
    • w 字,即四字節
    • g 八字節
    • n 表示要顯示的內存單元數,默認值為1
    • f 表示要打印的格式,前面已經提到了格式控制字符
    • u 要打印的單元長度
    • addr 內存地址
  • 查看寄存器內容: info registers

ra             0x3ff7ef2282     0x3ff7ef2282 < __libc_start_main+160 >
sp             0x3ffffffaa0     0x3ffffffaa0
gp             0x2aaaaac800     0x2aaaaac800
tp             0x3ff7fdd250     0x3ff7fdd250
t0             0x3ff7ed60b0     274742468784
t1             0x3ff7ef21e2     274742583778
t2             0x2aaaaac4f0     183251944688
fp             0x3ffffffab0     0x3ffffffab0
s1             0x0      0
a0             0x1      1
a1             0x3ffffffc28     274877905960
a2             0x3ffffffc38     274877905976
a3             0x0      0
a4             0x3ffffffad8     274877905624
a5             0x0      0
a6             0x3ff7fd88a8     274743527592
(內容過多未顯示完全)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210400
  • 調試
    +關注

    關注

    7

    文章

    589

    瀏覽量

    34064
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28466
  • gdb
    gdb
    +關注

    關注

    0

    文章

    60

    瀏覽量

    13348
收藏 人收藏

    評論

    相關推薦

    QEMU+GDB調試ARM程序

    通過GDB調試代碼的便利性無需贅言。我們直接以調試meta-hypervisor為示例進行說明。
    的頭像 發表于 10-08 09:17 ?2995次閱讀

    使用GDB調試Linux應用程序

    本篇講解使用GDB調試Linux應用程序,以下以 `hellowld.c` 為例介紹 GDB調試入門。
    發表于 06-27 15:48 ?486次閱讀

    Linux下用gdb 調試查看代碼堆棧 - 程良

    的參數名及其值。info locals打印出當前函數中所有局部變量及其值。info catch打印出當前的函數中的異常處理信息。查看源程序—————一、顯示源代碼GDB 可以打印出所調試
    發表于 12-01 09:46

    ARM平臺如何玩轉GDB遠程調試

    程序、單步執行、跳入/跳出函數、設置斷點、查看變量等等,它是UNIX/LINUX操作系統下強大的程序調試工具。GDB支持多種語言,包括Ada、匯編、C/C++、D、Fortran、GO
    發表于 09-27 15:28

    IAR 在線調試查看各種變量的不同方法

    IAR在線調試查看各種變量的不同方法
    的頭像 發表于 03-12 10:00 ?1.4w次閱讀

    Linux應用的GDB調試的原理及過程分析

    GDB調試是應用程序在開發板上運行,然后在PC機上對開發板上得應用程序進行調試,PC機運行GDB,開發板上運行GDBServer。在應用程序
    發表于 03-05 09:44 ?3459次閱讀
    Linux應用的<b class='flag-5'>GDB</b><b class='flag-5'>調試</b>的原理及過程分析

    實例演示GDB的使用

    GDB簡介 GDB(GNU Debugger)是一個強大的命令行調試工具。一般的,在Windows下進行開發,很少操控命令行調試
    的頭像 發表于 10-19 09:58 ?2773次閱讀
    實例演示<b class='flag-5'>GDB</b>的使用

    嵌入式Linux GDB調試環境搭建與使用

    /跳出函數、設置斷點、查看變量等等。Ubuntu資源充足,可以直接用gdb調試程序。嵌入式Linux性能弱,一般PC上運行源碼和GDB工具,
    發表于 11-01 17:59 ?8次下載
    嵌入式Linux <b class='flag-5'>GDB</b><b class='flag-5'>調試</b>環境搭建與使用

    linux下gdb安裝與使用簡介

    GDB,又稱GNU調試器,是用來幫助調試我們程序的工具。gdb可以設置斷點、查看變量、堆棧空間的
    的頭像 發表于 08-16 09:03 ?3475次閱讀
    linux下<b class='flag-5'>gdb</b>安裝與使用簡介

    ARM平臺如何玩轉GDB遠程調試

    前言關于GDB工具GDB工具是GNU項目調試器,基于命令行使用。和其他的調試器一樣,可使用GDB工具單步運行程序、單步執行、跳入/跳出函數、
    的頭像 發表于 09-28 18:17 ?1044次閱讀
    ARM平臺如何玩轉<b class='flag-5'>GDB</b>遠程<b class='flag-5'>調試</b>?

    嵌入式Linux GDB是什么

    函數、設置斷點、查看變量等等,它是 UNIX/LINUX 操作系統下強大的程序調試工具。 gdb 支持多種語言
    的頭像 發表于 07-27 16:29 ?802次閱讀
    嵌入式Linux <b class='flag-5'>GDB</b>是什么

    Linux系統中如何進行GDB調試

    啟動調試 $ gdb helloWorldGNU gdb (GDB) Red Hat Enterprise Linux 8.2-12.el8 Copyright (C) 2018 F
    的頭像 發表于 10-04 15:52 ?462次閱讀

    GDB調試工具的原理

    了。 1.2 執行中進程調試 如果想對一個已經執行的進程進行調試,那么就要在gdb這個父進程中調用ptrace(PTRACE_ATTA
    的頭像 發表于 11-09 17:04 ?1004次閱讀
    <b class='flag-5'>GDB</b><b class='flag-5'>調試</b>工具的原理

    如何使用GDB調試工具

    在對應程序目錄中使用下面的命令 gdb test 2、調試已經開始運行的程序進程 調試已經開始運行的程序進程,首先先用top命令查看運行的程序進程的pid如下: 比如我要加載的程序
    的頭像 發表于 11-09 17:17 ?911次閱讀
    如何使用<b class='flag-5'>GDB</b><b class='flag-5'>調試</b>工具

    如何使用linux下gdb調試python程序

    如何使用linux下gdb調試python程序? 在Linux下,可以使用GDB(GNU調試器)來調試Python程序。
    的頭像 發表于 01-31 10:41 ?2740次閱讀
    主站蜘蛛池模板: 韩国理论片2023现在观看 | 免费人成网站 | 无遮挡很爽很污很黄很色的网站 | 红色一级毛片 | 免费精品美女久久久久久久久 | 久久亚洲精品国产精品婷婷 | 视频一区二区免费 | 色偷偷成人 | 色午夜视频 | 女69porin18| 欧美三级不卡在线观线看高清 | 久久精品视频免费观看 | 夜夜操网| 久久免费观看国产精品 | 色在线视频免费 | 狠狠色狠狠色综合久久一 | 中文天堂资源在线www | 国产在线观看网址你懂得 | 欧美大片一区二区 | 青楼社区51在线视频视频 | 同性男男肉交短文 | 欧美簧片 | 96福利视频| 清朝荒淫牲艳史在线播放 | 天天看天天射天天碰 | www.久久精品视频 | 一级一片免费播放 | 日韩操| 香蕉黄色网 | 日本69式xxx视频 | 欧美一区二区三区免费看 | 日韩国产片 | 欧美一区二区三区在线观看 | 国语自产自拍秒拍在线视频 | 福利视频自拍 | 91免费视频网站 | 性夜黄a爽爽免费视频国产 羞羞答答xxdd影院欧美 | 免费人成在线观看网站品爱网日本 | 天堂激情| 天天干狠狠 | 四虎精品免费永久在线 |