GDB

1/2ページ

使用GDB除錯多執行緒例項詳解

先寫一段多執行緒程式。 makefile 加上 -g引數生成可調式資訊, 可以進行除錯。 pthread不是Linux下的預設的庫,也就是在連結的時候,無法找到phread庫中哥函式的入口地址,於是連結會失敗。在gcc編譯的時候,附加要加 -lpthread引數即可解決。 gdb test 進入除錯 […]

Linux除錯工具GDB使用簡易教程

本文所述主要是Linux除錯工具GDB的使用教程,具體如下。 宣告:本部落格內容是由本人經過實驗樓教程整理得來。 GDB的相關概念 GDB, 是 The GNU Project Debugger 的縮寫, 是 Linux 下功能全面的除錯工具。GDB 支援斷點、單步執行、列印變數、觀察變數、檢視暫存 […]

基於Linux除錯工具strace與gdb的常用命令總結

strace和gdb是Linux環境下的兩個常用除錯工具,這裡是個人在使用過程中對這兩個工具常用引數的總結,留作日後檢視使用。strace除錯工具strace工具用於跟蹤程序執行時的系統呼叫和所接收的訊號,包括引數、返回值、執行時間。在Linux中,使用者程式要訪問系統裝置,必須由使用者態切換到核心 […]

如何使用GDB除錯PHP程式

一般來說,GDB主要完成下面四個方面的功能: (1)啟動你的程式,可以按照你的自定義的要求隨心所欲的執行程式。 (2)可讓被除錯的程式在你所指定的調置的斷點處停住。(斷點可以是條件表示式) (3)當程式被停住時,可以檢查此時你的程式中所發生的事。 (4)動態的改變你程式的執行環境。 1、簡介 GDB […]

用 Python 拓展 GDB(一)

之前寫的《GDB 自動化操作的技術》一文介紹了可在gdb內部使用的DSL(領域特定語言)來自動化gdb的操作。藉助該DSL,我們分別實現了一個名為mv 對應的python實現如下: # move.py # 1. 匯入gdb模組來訪問gdb提供的python介面 import gdb # 2. 使用者 […]

用 Python 拓展 GDB(二)

歡迎來到《用python拓展gdb》的第二篇。在上一篇,我們學習了gdb提供的常用python介面,並用python實現了自定義命令和除錯指令碼。 到目前為止,我們都是在用python實現內建DSL(領域特定語言)也能實現的效果。從本篇開始,我們將繼續上路,去欣賞內建DSL所缺乏的新風景。 下一站, […]

用 Python 拓展 GDB(三)

歡迎來到《用python拓展gdb》的第三篇。上一篇我們談到了pretty printer,一個需要python支援的特性。這一篇我們談論另一個需要python支援的特性,convenience function。 什麼是convenience function 所謂的convenience fun […]