macOS使用LLDB除錯coredump

2021-10-12 07:06:20 字數 1060 閱讀 4617

對於segmentation fault或者異常退出的程式,macos中使用lldb除錯工具(linux裡是gdb)可以更方便的判斷問題出在**,如下:

①開啟core檔案生成開關(注意這個僅在當前terminal視窗有用),unlimited表示不限制core檔案大小,可以使用-c檢視是否開啟,預設是0

②使用g++編譯cpp檔案並執行a.out檔案,-g引數表示生成除錯資訊;可執行檔案預設名為a.out,可以用-o引數自定義。

% g++ test.

cpp-g %.

/a.out

③從terminal可以看出,已經生成了core檔案,在macintosh hd根目錄的隱藏資料夾cores中,使用ls指令檢視core檔名

%

ls/cores

④最新的core.79651是剛才生成的,使用lldb除錯工具,並用backtrace指令列印堆疊資訊,可以定位到出問題的行數

可以看出,第8行出現了問題,源**如下:

#include

#include

using

namespace std;

intmain()

對空指標進行解引用賦值操作,造成了段錯誤。

除錯lldb命令常用

lldb在xcode4.3或者之後的版本裡面是預設的偵錯程式。假如你正在使用老一點版本的xcode的話,你又gdb偵錯程式。他們有一些基本的相同的命令,因此假如你的xcode使用的是 gdb 提示,而不是 lldb 提示的話,你也能夠更隨一起做,而沒有問題。po 命令是 print object 列...

lldb除錯IPHONE步驟

參照了幾篇文章終於成功了,記錄一下 在win7下安裝vm11虛擬機器,安裝10.10版本下的是ios版,安裝xcode 6.1 入門篇之 iosopendev環境搭建 入門篇之 theos環境搭建 一 ios越獄開發 開發環境搭建 一步一步用debugserver lldb代替gdb進行動態除錯 d...

除錯lldb命令常用

lldb在xcode4.3或者之後的版本裡面是預設的偵錯程式。假如你正在使用老一點版本的xcode的話,你又gdb偵錯程式。他們有一些基本的相同的命令,因此假如你的xcode使用的是 gdb 提示,而不是 lldb 提示的話,你也能夠更隨一起做,而沒有問題。po 命令是 print object 列...