女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內(nèi)不再提示

Linux內(nèi)核調(diào)試的方式以及工具匯總(下)

jf_78858299 ? 來源:CSDN ? 作者:CHENG Jian ? 2023-05-12 14:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

5 Kprobe && systemtap


5.1 內(nèi)核kprobe機制


kprobelinux 內(nèi)核的一個重要特性, 是一個輕量級的內(nèi)核調(diào)試工具, 同時它又是其他一些更高級的內(nèi)核調(diào)試工具(比如 perfsystemtap)的 “基礎(chǔ)設(shè)施”, 4.0版本的內(nèi)核中, 強大的 eBPF 特性也寄生于 kprobe 之上, 所以 kprobe 在內(nèi)核中的地位就可見一斑了.

Kprobes 提供了一個強行進入任何內(nèi)核例程并從中斷處理器無干擾地收集信息的接口. 使用 Kprobes 可以收集處理器寄存器和全局數(shù)據(jù)結(jié)構(gòu)等調(diào)試信息。開發(fā)者甚至可以使用 Kprobes 來修改 寄存器值和全局數(shù)據(jù)結(jié)構(gòu)的值.

如何高效地調(diào)試內(nèi)核?

printk 是一種方法, 但是 printk 終歸是毫無選擇地全量輸出, 某些場景下不實用, 于是你可以試一下tracepoint, 我使能 tracepoint 機制的時候才輸出. 對于傻傻地放置 printk 來輸出信息的方式,tracepoint 是個進步, 但是 tracepoint 只是內(nèi)核在某些特定行為(比如進程切換)上部署的一些靜態(tài)錨點, 這些錨點并不一定是你需要的, 所以你仍然需要自己部署tracepoint, 重新編譯內(nèi)核. 那么kprobe 的出現(xiàn)就很有必要了, 它可以在運行的內(nèi)核中動態(tài)插入探測點, 執(zhí)行你預定義的操作.

它的基本工作機制是 : 用戶指定一個探測點, 并把一個用戶定義的處理函數(shù)關(guān)聯(lián)到該探測點, 當內(nèi)核執(zhí)行到該探測點時, 相應的關(guān)聯(lián)函數(shù)被執(zhí)行,然后繼續(xù)執(zhí)行正常的代碼路徑.

kprobe 實現(xiàn)了三種類型的探測點 : kprobes, jprobeskretprobes(也叫返回探測點). kprobes 是可以被插入到內(nèi)核的任何指令位置的探測點, jprobes 則只能被插入到一個內(nèi)核函數(shù)的入口, 而 kretprobes 則是在指定的內(nèi)核函數(shù)返回時才被執(zhí)行.

相關(guān)資料鏈接:

kprobe工作原理:http://blog.itpub.net/15480802/viewspace-1162094/

隨想錄(強大的kprobe):http://blog.csdn.net/feixiaoxing/article/details/40351811

kprobe原理解析(一):http://www.cnblogs.com/honpey/p/4575928.html

5.2 前端工具systemtap


SystemTap 是監(jiān)控和跟蹤運行中的 Linux 內(nèi)核的操作的動態(tài)方法. 這句話的關(guān)鍵詞是動態(tài), 因為 SystemTap 沒有使用工具構(gòu)建一個特殊的內(nèi)核, 而是允許您在運行時動態(tài)地安裝該工具. 它通過一個Kprobes 的應用編程接口 (API) 來實現(xiàn)該目的.

SystemTap 與一種名為 DTrace 的老技術(shù)相似,該技術(shù)源于 Sun Solaris 操作系統(tǒng). 在 DTrace 中, 開發(fā)人員可以用 D 編程語言(C 語言的子集, 但修改為支持跟蹤行為)編寫腳本. DTrace 腳本包含許多探針和相關(guān)聯(lián)的操作, 這些操作在探針 “觸發(fā)” 時發(fā)生. 例如, 探針可以表示簡單的系統(tǒng)調(diào)用,也可以表示更加復雜的交互,比如執(zhí)行特定的代碼行

DTraceSolaris 最引人注目的部分, 所以在其他操作系統(tǒng)中開發(fā)它并不奇怪. DTrace 是在 Common Development and Distribution License (CDDL) 之下發(fā)行的, 并且被移植到 FreeBSD 操作系統(tǒng)中.

另一個非常有用的內(nèi)核跟蹤工具是 ProbeVue, 它是 IBMIBM? AIX? 操作系統(tǒng) 6.1 開發(fā)的. 您可以使用 ProbeVue 探查系統(tǒng)的行為和性能, 以及提供特定進程的詳細信息. 這個工具使用一個標準的內(nèi)核以動態(tài)的方式進行跟蹤.

考慮到 DTraceProbeVue 在各自的操作系統(tǒng)中的巨大作用, 為 Linux 操作系統(tǒng)策劃一個實現(xiàn)該功能的開源項目是勢不可擋的. SystemTap2005 年開始開發(fā), 它提供與 DTraceProbeVue 類似的功能. 許多社區(qū)還進一步完善了它, 包括 Red HatIntelHitachiIBM 等.

這些解決方案在功能上都是類似的, 在觸發(fā)探針時使用探針和相關(guān)聯(lián)的操作腳本.

相關(guān)資料鏈接:

SystemTap 學習筆記 - 安裝篇:https://segmentfault.com/a/1190000000671438

Linux 自檢和 SystemTap 用于動態(tài)內(nèi)核分析的接口和語言:https://www.ibm.com/developerworks/cn/linux/l-systemtap/

Brendan’s blog Using SystemTap:http://dtrace.org/blogs/brendan/2011/10/15/using-systemtap/

內(nèi)核調(diào)試神器SystemTap — 簡介與使用(一):http://blog.csdn.net/zhangskd/article/details/25708441

內(nèi)核探測工具systemtap簡介:http://www.cnblogs.com/hazir/p/systemtap_introduction.html

SystemTap Beginner:http://blog.csdn.net/kafeiflynn/article/details/6429976

使用systemtap調(diào)試linux內(nèi)核:http://blog.csdn.net/heli007/article/details/7187748

Ubuntu Kernel Debuginfo:http://ddebs.ubuntu.com/pool/main/l/linux

Linux 下的一個全新的性能測量和調(diào)式診斷工具 Systemtap, 第 3 部分: Systemtap:https://www.ibm.com/developerworks/cn/linux/l-cn-systemtap3/

6 kgdb && kgtp


6.1 kgdb


  • KDB 和 KGDB 合并, 并進入內(nèi)核

KGDB 是大名鼎鼎的內(nèi)核調(diào)試工具, 他是由 KDBKGDB 項目合并而來.

kdb 是一個Linux系統(tǒng)的內(nèi)核調(diào)試器, 它是由SGI公司開發(fā)的遵循GPL許可證的開放源碼調(diào)試工具. kdb 嵌入在Linux 內(nèi)核中. 為內(nèi)核&&驅(qū)動程序員提供調(diào)試手段. 它適合于調(diào)試內(nèi)核空間的程序代碼. 譬如進行設(shè)備驅(qū)動程序調(diào)試. 內(nèi)核模塊的調(diào)試等.

kgdbkdb 現(xiàn)在已經(jīng)合并了. 對于一個正在運行的kgdb 而言, 可以使用 gdbmonitor 命令來使用 kdb 命令. 比如

(gdb)gdb monitor ps -A

就可以運行 kdbps 命令了.

分析一下 kdb 補丁和合入主線的 kdb 有啥不同

kdbkgdb 合并之后, 也可以使用 kgdbIO 驅(qū)動(比如鍵盤), 但是同時也 kdb也喪失了一些功能.合并之后的kdb不在支持匯編級的源碼調(diào)試. 因此它現(xiàn)在也是平臺獨立的.

  1. kdump和kexec已經(jīng)被移除。
  2. 從/proc/meninfo中獲取的信息比以前少了。
  3. bt命令現(xiàn)在使用的是內(nèi)核的backtracer,而不是kdb原來使用的反匯編。
  4. 合并之后的kdb不在具有原來的反匯編(id命令)

總結(jié)一下 : kdbkgdb 合并之后,系統(tǒng)中對這兩種調(diào)試方式幾乎沒有了明顯的界限,比如通過串口進行遠程訪問的時候,可以使用 kgdb 命令, 也可以使用 kdb 命令(使用gdb monitor實現(xiàn))

6.2 KGTP


KGTP 是一個 實時 輕量級 Linux 調(diào)試器 和 跟蹤器. 使用 KGTP

使用 KGTP 不需要在 Linux 內(nèi)核上打 PATCH 或者重新編譯, 只要編譯KGTP模塊并 insmod 就可以.

其讓 Linux 內(nèi)核提供一個遠程 GDB 調(diào)試接口, 于是在本地或者遠程的主機上的GDB可以在不需要停止內(nèi)核的情況下用 GDB tracepoint 和其他一些功能 調(diào)試 和 跟蹤 Linux.

即使板子上沒有 GDB 而且其沒有可用的遠程接口, KGTP 也可以用離線調(diào)試的功能調(diào)試內(nèi)核(見http://code.google.com/p/kgtp/wiki/HOWTOCN#/sys/kernel/debug/gtpframe和離線調(diào)試)。

KGTP支持 X86-32 , X86-64 , MIPS 和 ARM

KGTP在Linux內(nèi)核 2.6.18到upstream 上都被測試過。

而且還可以用在 Android 上(見 http://code.google.com/p/kgtp/wiki/HowToUseKGTPinAndroid)

相關(guān)資料鏈接:

github-KGTP:https://github.com/teawater/kgtp

KGTP內(nèi)核調(diào)試使用:http://blog.csdn.net/djinglan/article/details/15335653

KGTP中增加對GDB命令“set trace-buffer-size”的支持 - Week 5:http://blog.csdn.net/calmdownba/article/details/38659317

7 perf


Perf 是用來進行軟件性能分析的工具。

通過它, 應用程序可以利用 PMU, tracepoint 和內(nèi)核中的特殊計數(shù)器來進行性能統(tǒng)計. 它不但可以分析指定應用程序的性能問題 (per thread). 也可以用來分析內(nèi)核的性能問題, 當然也可以同時分析應用代碼和內(nèi)核,從而全面理解應用程序中的性能瓶頸.

最初的時候, 它叫做 Performance counter, 在 2.6.31 中第一次亮相. 此后他成為內(nèi)核開發(fā)最為活躍的一個領(lǐng)域. 在 2.6.32 中它正式改名為 Performance Event, 因為 perf 已不再僅僅作為 PMU 的抽象, 而是能夠處理所有的性能相關(guān)的事件.

使用 perf, 您可以分析程序運行期間發(fā)生的硬件事件,比如 instructions retired , processor clock cycles 等; 您也可以分析軟件事件, 比如 Page Fault 和進程切換。

這使得 Perf 擁有了眾多的性能分析能力, 舉例來說,使用 Perf 可以計算每個時鐘周期內(nèi)的指令數(shù), 稱為 IPC, IPC 偏低表明代碼沒有很好地利用 CPU.

Perf 還可以對程序進行函數(shù)級別的采樣, 從而了解程序的性能瓶頸究竟在哪里等等. Perf 還可以替代 strace, 可以添加動態(tài)內(nèi)核 probe 點. 還可以做 benchmark 衡量調(diào)度器的好壞.

人們或許會稱它為進行性能分析的”瑞士軍刀”, 但我不喜歡這個比喻, 我覺得 perf 應該是一把世間少有的倚天劍.

金庸筆下的很多人都有對寶刀的癖好, 即便本領(lǐng)低微不配擁有, 但是喜歡, 便無可奈何. 我恐怕正如這些人一樣, 因此進了酒館客棧, 見到相熟或者不相熟的人, 就要興沖沖地要講講那倚天劍的故事.

相關(guān)資料鏈接:

Perf – Linux下的系統(tǒng)性能調(diào)優(yōu)工具,第 1 部分:https://www.ibm.com/developerworks/cn/linux/l-cn-perf1/index.html

perf Examples:http://www.brendangregg.com/perf.html

改進版的perf, Performance analysis tools based on Linux perf_events (aka perf) and ftrace:https://github.com/brendangregg/perf-tools

Perf使用教程:http://blog.chinaunix.net/uid-10540984-id-3854969.html

linux下的內(nèi)核測試工具——perf使用簡介:http://blog.csdn.net/trochiluses/article/details/10261339

perf 移植:http://www.cnblogs.com/helloworldtoyou/p/5585152.html

8 其他Tracer工具


8.1 LTTng


LTTng 是一個 Linux 平臺開源的跟蹤工具, 是一套軟件組件, 可允許跟蹤 Linux 內(nèi)核和用戶程序, 并控制跟蹤會話(開始/停止跟蹤、啟動/停止事件 等等). 這些組件被綁定如下三個包 :

圖片

相關(guān)資料鏈接:

Linux 平臺開源的跟蹤工具:LTTng:http://www.open-open.com/lib/view/open1413946397247.html

用 lttng 跟蹤內(nèi)核:http://blog.csdn.net/xsckernel/article/details/17794551

LTTng and LTTng project:http://blog.csdn.net/ganggexiongqi/article/details/6664331

8.2 eBPF


extended Berkeley Packet Filter(eBPF)是一個可以在事件上運行程序的高效內(nèi)核虛擬機(JIT)。它可能最終會提供 ftrace 和 perf_events 的內(nèi)核編程,并強化其他的 tracer。這是 Alexei Starovoitov 目前正在開發(fā)的,還沒有完全集成,但是從4.1開始已經(jīng)對一些優(yōu)秀的工具有足夠的內(nèi)核支持了,如塊設(shè)備I/O的延遲熱圖。可參考其主要作者 Alexei Starovoitov 的BPF slides和eBPF samples。

8.3 Ktap


ktap 在過去是一款前景很好的 tracer,它使用內(nèi)核中的 lua 虛擬機處理,在沒有調(diào)試信息的情況下在嵌入式設(shè)備上運行的很好。它分為幾個步驟,并在有一段時間似乎超過了 Linux 上所有的追蹤器。然后 eBPF 開始進行內(nèi)核集成,而 ktap 的集成在它可以使用 eBPF 替代它自己的虛擬機后才開始。因為 eBPF 仍將持續(xù)集成幾個月,ktap 開發(fā)者要繼續(xù)等上一段時間。我希??今年晚些時候它能重新開發(fā)。

8.4 dtrace4linux


dtrace4linux 主要是 Paul Fox 一個人在業(yè)余時間完成的,它是 Sun DTrace 的 Linux 版本。它引入矚目,還有一些 provider 可以運行,但是從某種程度上來說還不完整,更多的是一種實驗性的工具(不安全)。我認為,顧忌到許可問題,人們會小心翼翼的為 dtrace4linux 貢獻代碼:由于當年 Sun 開源DTrace 使用的是 CDDL 協(xié)議,而 dtrace4linux 也不大可能最終進入 Linux kernel。Paul 的方法很可能會使其成為一個 add-on。我很樂意看到 Linux 平臺上的 DTrace 和這個項目的完成,我認為當我加入 Netflix 后將會花些時間來協(xié)助完成這個項目。然而,我還是要繼續(xù)使用內(nèi)置的 tracers,如 ftrace 和 perf_events。

8.5 OL DTrace


Oracle Linux DTrace為了將 DTrace 引入 Linux,特別是 Oracle Linux,做出了很大的努力。這些年來發(fā)布的多個版本表明了它的穩(wěn)定進展。開發(fā)者們以一種對這個項目的前景看好的態(tài)度談論著改進 DTrace 測試套件。很多有用的 provider 已經(jīng)完成了,如:syscall, profile, sdt, proc, sched 以及USDT。我很期待 fbt(function boundary tracing, 用于內(nèi)核動態(tài)跟蹤)的完成,它是 Linux 內(nèi)核上非常棒的 provider。OL DTrace 最終的成功將取決于人們對運行 Oracle Linux(為技術(shù)支持付費)有多大興趣,另一方面取決于它是否完全開源:它的內(nèi)核元件是開源的,而我沒有看到它的用戶級別代碼。

8.6 sysdig


sysdig是一個使用類tcpdump語法來操作系統(tǒng)事件的新tracer,它使用lua提交進程。它很優(yōu)秀,它見證了系統(tǒng)跟蹤領(lǐng)域的變革。它的局限性在于它只在當前進行系統(tǒng)調(diào)用,在提交進行時將所有事件轉(zhuǎn)儲為用戶級別。你可以使用系統(tǒng)調(diào)用做很多事情,然而我還是很希望它能支持跟蹤點、kprobe和uprobe。我還期待它能支持eBPF做內(nèi)核摘要。目前,sysdig開發(fā)者正在增加容器支持。留意這些內(nèi)容。

原文作者:CHENG Jian 原文鏈接:https://kernel.blog.csdn.net/article/details/68948080

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1416

    瀏覽量

    41360
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11508

    瀏覽量

    213567
  • 開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    373

    瀏覽量

    41490
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Linux內(nèi)核開發(fā)工具介紹

    進行嵌入式Linux產(chǎn)品開發(fā),往往需要對內(nèi)核進行裁剪和定制,以滿足嵌入式產(chǎn)品的功能和性能需求。本文介紹幾種閱讀Linux內(nèi)核源碼的工具和方法
    發(fā)表于 12-29 15:20 ?4864次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>開發(fā)<b class='flag-5'>工具</b>介紹

    Linux內(nèi)核鏡像bzImage和rootfs的制作、安裝及調(diào)試過程

    一個最小可運行Linux操作系統(tǒng)需要內(nèi)核鏡像bzImage和rootfs,本文整理了其制作、安裝過程,調(diào)試命令,以及如何添加共享磁盤。
    發(fā)表于 10-14 17:28 ?7624次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>鏡像bzImage和rootfs的制作、安裝及<b class='flag-5'>調(diào)試</b>過程

    Linux內(nèi)核學習筆記:printk調(diào)試

    很多內(nèi)核開發(fā)者喜歡的調(diào)試工具是printk,在Linux內(nèi)核中,使用printk()函數(shù)來打印信息,它與C庫的printf()函數(shù)類似。
    發(fā)表于 06-01 15:14 ?1468次閱讀

    請問linux內(nèi)核怎么調(diào)試

    問個問題,怎么調(diào)試linux內(nèi)核,百度了一,結(jié)果還是不會使用gdb調(diào)試內(nèi)核。希望大蝦幫忙指點一
    發(fā)表于 02-25 07:32

    學會Linux內(nèi)核調(diào)試方法!

    內(nèi)核開發(fā)比用戶空間開發(fā)更難的一個因素就是內(nèi)核調(diào)試艱難。內(nèi)核錯誤往往會導致系統(tǒng)宕機,很難保留出錯時的現(xiàn)場。調(diào)試
    發(fā)表于 05-07 11:01 ?2505次閱讀

    Linux:QEMU調(diào)試內(nèi)核的步驟

    Linux:QEMU調(diào)試內(nèi)核的步驟
    的頭像 發(fā)表于 06-23 09:03 ?3399次閱讀
    <b class='flag-5'>Linux</b>:QEMU<b class='flag-5'>調(diào)試</b><b class='flag-5'>內(nèi)核</b>的步驟

    快速理解什么是Linux內(nèi)核以及Linux內(nèi)核的內(nèi)容

    01 前言 本文主要講解什么是Linux內(nèi)核以及通過多張圖片展示Linux內(nèi)核的作用與功能,以便于讀者能快速理解什么是
    的頭像 發(fā)表于 10-21 12:02 ?4547次閱讀
    快速理解什么是<b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>以及</b><b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>的內(nèi)容

    嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試教程

    本文檔的主要內(nèi)容詳細介紹的是嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試教程。
    發(fā)表于 11-06 17:32 ?21次下載
    嵌入式<b class='flag-5'>LINUX</b>系統(tǒng)<b class='flag-5'>內(nèi)核</b>和<b class='flag-5'>內(nèi)核</b>模塊<b class='flag-5'>調(diào)試</b>教程

    Linux內(nèi)核開發(fā)框架學習資料匯總

    Linux內(nèi)核開發(fā)框架學習資料匯總
    發(fā)表于 06-17 09:29 ?24次下載

    嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試

    嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試(嵌入式開發(fā)和硬件開發(fā))-嵌入式LINUX系統(tǒng)內(nèi)核
    發(fā)表于 07-30 13:55 ?10次下載
    嵌入式<b class='flag-5'>LINUX</b>系統(tǒng)<b class='flag-5'>內(nèi)核</b>和<b class='flag-5'>內(nèi)核</b>模塊<b class='flag-5'>調(diào)試</b>

    Linux內(nèi)核調(diào)試方式以及工具集錦

    內(nèi)核總是那么捉摸不透, 內(nèi)核也會犯錯, 但是調(diào)試卻不能像用戶空間程序那樣, 為此內(nèi)核開發(fā)者為我們提供了一系列的工具和系統(tǒng)來支持
    的頭像 發(fā)表于 02-20 17:56 ?1166次閱讀

    Linux內(nèi)核調(diào)試方式以及工具匯總(上)

    內(nèi)核總是那么捉摸不透, 內(nèi)核也會犯錯, 但是調(diào)試卻不能像用戶空間程序那樣, 為此內(nèi)核開發(fā)者為我們提供了一系列的工具和系統(tǒng)來支持
    的頭像 發(fā)表于 05-12 14:58 ?1147次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>調(diào)試</b>的<b class='flag-5'>方式</b><b class='flag-5'>以及</b><b class='flag-5'>工具</b><b class='flag-5'>匯總</b>(上)

    Linux內(nèi)核調(diào)試方式以及工具總結(jié)

    內(nèi)核總是那么捉摸不透, 內(nèi)核也會犯錯, 但是調(diào)試卻不能像用戶空間程序那樣, 為此內(nèi)核開發(fā)者為我們提供了一系列的工具和系統(tǒng)來支持
    的頭像 發(fā)表于 05-22 14:37 ?1805次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>調(diào)試</b><b class='flag-5'>方式</b><b class='flag-5'>以及</b><b class='flag-5'>工具</b>總結(jié)

    內(nèi)核調(diào)試工具printkprintk的輸出格式

    很多內(nèi)核開發(fā)者喜歡的調(diào)試工具是printk,在Linux內(nèi)核中,使用printk()函數(shù)來打印信息,它與C庫的printf()函數(shù)類似。 printk()與printf()的一個重要
    的頭像 發(fā)表于 09-27 16:09 ?1437次閱讀

    如何使用linuxgdb來調(diào)試python程序

    如何使用linuxgdb來調(diào)試python程序? 在Linux,可以使用GDB(GNU調(diào)試
    的頭像 發(fā)表于 01-31 10:41 ?3213次閱讀