backtrace實操總結

2021-09-29 22:58:01 字數 658 閱讀 1162

-g 是乙個編譯選項,在編譯的過程中起作用,把更多除錯資訊(也就包括符號資訊)存放到最終的可執行檔案內。

-rdynamic 是乙個連線選項,將指示聯結器把所有符號都新增到動態符號表(即.dynsym表)裡,以便dlopen()或backtrace()這樣的函式使用。

1)程式使用的是 elf 二進位制格式.

2)程式連線時使用了 -rdynamic 選項.

-rdynamic可用來通知鏈結器將所有符號新增到動態符號表中, 這些資訊比 -g 選項的資訊要少得多.

① 某些編譯器的優化選項對獲取正確的呼叫堆疊有干擾, 另外內聯函式沒有堆疊框架;

刪除框架指標也會導致無法正確解析堆疊內容;

② backtrace使用,最好被監控的訊號:

set_sig(sigill) 4 //非法指令

set_sig(sigbus) 7 //匯流排錯誤

set_sig(sigfpe) 8 //浮點異常,即除0異常

set_sig(sigabrt) 6 //來自abort函式的終止訊號

set_sig(sigse**) 11 //無效的儲存器引用(段錯誤)

set_sig(sigpipe ) 13 //向乙個沒有讀使用者的管道做寫操作

set_sig(sigterm) 15 //軟體終止訊號

set_s

mysql實操總結(基礎篇 上)

基礎篇 sql介紹及mysql安裝 一 結構化查詢語句 structured query language 簡稱sql 1 啟動mysql sudo service mysql start mysql u root 2 檢視資料庫 mysql show databases 3 連線資料庫 mysql...

跳汰機的實操經驗總結

一 探杆的使用。通過探杆可以判斷出床層的層次 鬆散程度和礦粒移動狀況。通過探杆觸測,可以探測到以下床層現象 1 實緊 床層整起整落難鬆散。用力可將探杆插入床層,床層公升降時對探杆有推舉力,但無鬆散感。象這種原因主要是給料量大造成。處理時,應通過減小入料量或適當根據情況增加排料。如果是矸石量大,在增加...

軟體開發實操彙總(四)總結

軟體開發工作和其他工作都是一樣的,不是單純的僅僅是乙個開發 技術 部門或某個技術人員搞定的,需要技術 銷售 專案 行政 人力等部門通力合作。這裡引用乙個本人切身經歷的事情介紹給大家,以作榜樣說明。在一家資料服務的公司工作時,銷售人員將公司crm軟體推銷給乙個院校使用並達成了服務協議,服務一段時間後 ...