1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      linux打堆棧的命令 linux查看堆棧調(diào)用信息

      linux print命令

      具體參數(shù)及講解如下:

      成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),孟連企業(yè)網(wǎng)站建設(shè),孟連品牌網(wǎng)站建設(shè),網(wǎng)站定制,孟連網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,孟連網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

      print命令的格式是:

      print xxx

      p xxx

      1. print 操作符

      @

      是一個(gè)和數(shù)組有關(guān)的操作符,在后面會(huì)有更詳細(xì)的說明。

      ::

      指定一個(gè)在文件或是一個(gè)函數(shù)中的變量。

      {}

      表示一個(gè)指向內(nèi)存地址的類型為type的一個(gè)對(duì)象。

      2. 察看內(nèi)容

      全局變量(所有文件可見的)

      靜態(tài)全局變量(當(dāng)前文件可見的)

      局部變量(當(dāng)前Scope可見的)

      如果你的局部變量和全局變量發(fā)生沖突(也就是重名),一般情況下是局部變量會(huì)隱藏全局變量。如果此時(shí)你想查看全局變量的值時(shí),你可以使用“::”操作符:

      file::variable

      function::variable

      eg:

      查看文件f2.c中的全局變量x的值:

      gdb) p 'f2.c'::x

      注:如果你的程序編譯時(shí)開啟了優(yōu)化選項(xiàng),那么在用GDB調(diào)試被優(yōu)化過的程序時(shí),可能會(huì)發(fā)生某些變量不能訪問,或是取值錯(cuò)誤碼的情況。對(duì)付這種情況時(shí),需要在編譯程序時(shí)關(guān)閉編譯優(yōu)化。GCC,你可以使用“-gstabs” 選項(xiàng)來解決這個(gè)問題。

      3. 察看數(shù)組

      (1)動(dòng)態(tài)數(shù)組:

      p *array@len

      array:數(shù)組的首地址,len:數(shù)據(jù)的長(zhǎng)度

      eg:

      (gdb) p *array@len

      $1 = {2, 4, 6, 8, 10}

      (2)靜態(tài)數(shù)組

      可以直接用print數(shù)組名,就可以顯示數(shù)組中所有數(shù)據(jù)的內(nèi)容了。

      4. 輸出格式

      x 按十六進(jìn)制格式顯示變量。

      d 按十進(jìn)制格式顯示變量。

      u 按十六進(jìn)制格式顯示無符號(hào)整型。

      o 按八進(jìn)制格式顯示變量。

      t 按二進(jìn)制格式顯示變量。

      a 按十六進(jìn)制格式顯示變量。

      c 按字符格式顯示變量。

      f 按浮點(diǎn)數(shù)格式顯示變量。

      eg:

      (gdb) p i

      $21 = 101

      (gdb) p/a i

      $22 = 0x65

      (gdb) p/c i

      $23 = 101 'e'

      5. 察看內(nèi)存

      使用examine(簡(jiǎn)寫x)來查看內(nèi)存地址中的值。語法:

      x/

      n、f、u是可選的參數(shù)。

      (1)n 是一個(gè)正整數(shù),表示顯示內(nèi)存的長(zhǎng)度,也就是說從當(dāng)前地址向后顯示幾個(gè)地址的內(nèi)容。

      (2)f 表示顯示的格式,參見上面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。

      (3)u 表示從當(dāng)前地址往后請(qǐng)求的字節(jié)數(shù),如果不指定的話,GDB默認(rèn)是4個(gè)bytes。u參數(shù)可以用下面的字符來代替,b表示單字節(jié),h表示雙字節(jié),w表示四字 節(jié),g表示八字節(jié)。當(dāng)我們指定了字節(jié)長(zhǎng)度后,GDB會(huì)從指內(nèi)存定的內(nèi)存地址開始,讀寫指定字節(jié),并把其當(dāng)作一個(gè)值取出來。

      eg:

      x/3uh 0x54320 :從內(nèi)存地址0x54320讀取內(nèi)容,h表示以雙字節(jié)為一個(gè)單位,3表示三個(gè)單位,u表示按十六進(jìn)制顯示。

      6. 察看寄存器

      (1)要查看寄存器的值,很簡(jiǎn)單,可以使用如下命令:

      info registers

      (2)查看寄存器的情況。(除了浮點(diǎn)寄存器)

      info all-registers

      (3)查看所有寄存器的情況。(包括浮點(diǎn)寄存器)

      info registers

      (4)查看所指定的寄存器的情況。

      寄存器中放置了程序運(yùn)行時(shí)的數(shù)據(jù),比如程序當(dāng)前運(yùn)行的指令地址(ip),程序的當(dāng)前堆棧地址(sp)等等。你同樣可以使用print命令來訪問寄存器的情況,只需要在寄存器名字前加一個(gè)$符號(hào)就可以了。如:p $eip。

      7. display自動(dòng)顯示的變量

      (1)格式:display[/i|s] [expression | addr]

      eg:

      display/i $pc

      $pc是GDB的環(huán)境變量,表示著指令的地址,/i則表示輸出格式為機(jī)器指令碼,也就是匯編。于是當(dāng)程序停下后,就會(huì)出現(xiàn)源代碼和機(jī)器指令碼相對(duì)應(yīng)的情形,這是一個(gè)很有意思的功能。

      (2)其他

      undisplay

      delete display

      刪除自動(dòng)顯示,dnums意為所設(shè)置好了的自動(dòng)顯式的編號(hào)。如果要同時(shí)刪除幾個(gè),編號(hào)可以用空格分隔,如果要?jiǎng)h除一個(gè)范圍內(nèi)的編號(hào),可以用減號(hào)表示(如:2-5)

      disable display

      enable display

      disable和enalbe不刪除自動(dòng)顯示的設(shè)置,而只是讓其失效和恢復(fù)。

      info display

      查看display設(shè)置的自動(dòng)顯示的信息。GDB會(huì)打出一張表格,向你報(bào)告當(dāng)然調(diào)試中設(shè)置了多少個(gè)自動(dòng)顯示設(shè)置,其中包括,設(shè)置的編號(hào),表達(dá)式,是否enable。

      8. 設(shè)置

      (1)set print address

      set print address on

      打開地址輸出,當(dāng)程序顯示函數(shù)信息時(shí),GDB會(huì)顯出函數(shù)的參數(shù)地址。

      (2)set print array

      set print array on

      打開數(shù)組顯示,打開后當(dāng)數(shù)組顯示時(shí),每個(gè)元素占一行,如果不打開的話,每個(gè)元素則以逗號(hào)分隔。

      (3)set print elements

      這個(gè)選項(xiàng)主要是設(shè)置數(shù)組的,如果你的數(shù)組太大了,那么就可以指定一個(gè)來指定數(shù)據(jù)顯示的最大長(zhǎng)度,當(dāng)?shù)竭_(dá)這個(gè)長(zhǎng)度時(shí),GDB就不再往下顯示了。如果設(shè)置為0,則表示不限制。

      (4)set print null-stop

      如果打開了這個(gè)選項(xiàng),那么當(dāng)顯示字符串時(shí),遇到結(jié)束符則停止顯示。這個(gè)選項(xiàng)默認(rèn)為off。

      (5)set print pretty on

      如果打開printf pretty這個(gè)選項(xiàng),那么當(dāng)GDB顯示結(jié)構(gòu)體時(shí)會(huì)比較漂亮。如:

      $1 = {

      next = 0x0,

      flags = {

      sweet = 1,

      sour = 1

      },

      meat = 0x54 "Pork"

      }

      (6)set print union

      設(shè)置顯示結(jié)構(gòu)體時(shí),是否顯式其內(nèi)的聯(lián)合體數(shù)據(jù)。

      (7)set print object

      在C++中,如果一個(gè)對(duì)象指針指向其派生類,如果打開這個(gè)選項(xiàng),GDB會(huì)自動(dòng)按照虛方法調(diào)用的規(guī)則顯示輸出,如果關(guān)閉這個(gè)選項(xiàng)的話,GDB就不管虛函數(shù)表了。

      linux 設(shè)置堆棧大小 為無限制

      你好。

      執(zhí)行命令ulimit ?-a,查看棧大小的限制。

      通過使用 ?ulimit ?-s 數(shù)字 進(jìn)行設(shè)置。

      求教關(guān)于linux的堆棧設(shè)置

      在/etc/profile 的最后面添加ulimit -s unlimited 保存,source /etc/profile使修改文件生效

      linux查看修改線程默認(rèn)棧空間大小 :ulimit -s

      1、通過命令 ulimit -s 查看linux的默認(rèn)棧空間大小,默認(rèn)情況下 為10240 即10M

      2、通過命令 ulimit -s 設(shè)置大小值 臨時(shí)改變棧空間大小:ulimit -s 102400, 即修改為100M

      3、可以在/etc/rc.local 內(nèi) 加入 ulimit -s 102400 則可以開機(jī)就設(shè)置棧空間大小

      4、在/etc/security/limits.conf 中也可以改變棧空間大小:

      #domain type item value

      * soft stack 102400

      重新登錄,執(zhí)行ulimit -s 即可看到改為102400 即100M


      文章標(biāo)題:linux打堆棧的命令 linux查看堆棧調(diào)用信息
      URL分享:http://ef60e0e.cn/article/hisddo.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        邯郸市| 连州市| 镇沅| 沙田区| 稷山县| 乌兰察布市| 宾阳县| 铜陵市| 班玛县| 沂源县| 凌云县| 辛集市| 金阳县| 丹阳市| 水富县| 珠海市| 伽师县| 虞城县| 香河县| 南阳市| 长丰县| 怀安县| 太仆寺旗| 子长县| 当阳市| 日土县| 黄陵县| 富裕县| 大田县| 新巴尔虎右旗| 林口县| 方城县| 八宿县| 临沭县| 英超| 玛曲县| 临城县| 寿光市| 黄山市| 陆河县| 巩留县|