1、如何在堆疊被破壞的情況下解決宕機問題**的)
宕機不用怕,原來這樣噠!
通常在生產環境下如果遇到宕機,我們的做法很簡單gdb除錯core檔案,可以看到程式的堆疊資訊,就可以定位問題,解決問題。
但是在某些情況下,堆疊資訊由於某些原因被損壞了,bt打出來顯示的全是??????
那麼如果想找到問題那就難辦了。
不過今天我們介紹一種,方法
使用gcc內建函式
__builtin_return_address(level)
level=0表示第一層位址
level=1表示第二層位址
level=2表示第三層位址
以此類推
使用時直接
1. printf("address %p -%p -%p ", __builtin_return_address(0),__builtin_return_address(1),__builtin_return_address(2));
2. 反編譯 objdump -cd yourexecutable > my.asm
檢視printf的輸出
address 0x48161a -0x4928e8 -0x739e94
這樣我們就知道上面那條語句的呼叫情況是
0x48161a
0x4928e8
0x739e94
在my.asm中找到對應的函式位址.
就找到了相應的函式名,ok,到這裡大家都明白了。
2、共享庫so有時候core的時候只能看到是so引起的core,找不到具體的函式:
可通過如下方法尋找 core 的函式資訊:
找到導致 core 的 rank 模組,在上面的例子中,rank 模組被重新命名為 libsearcherrank.so_1534892175 了,在相應目錄下找到原始的動態庫;
執行 objdump -cd libsearcherrank.so > a.log
vim a.log 找到其中乙個 frame 的位址, 比如 0x0x1e9f1c
從上面大約可以看見是 searcher_rank::p13ngenderrank::_adjust 函式呼叫 boost::lexical_cast 引起的
apache看不到服務等問題
apache裝完後為什麼顯示no service installed?或者是你在apache monitor裡面看不到apache2的服務?安裝完apache之後 不是按照預設路徑安裝的,例如是 d 右下方哪個小羽毛圖示是沒有啟動的,左鍵不好使,而且提示 no services installed ...
dubbo admin 看不到註冊的服務
一 背景 1 dubbo服務正常註冊到zookeeper 2 客戶端呼叫dubbo服務正常 二 原因 dubbo admin未配置分組資訊 四 參考部落格如下 今天重新配置了下dubbo,結果發現管理控制台上沒有顯示可用的服務,由於前陣子剛配置的時候是沒有問題的,於是開始逐步排查。專案註冊中心用的z...
lspci能看到ifconfig a看不到網絡卡
隨著寬頻技術的快速發展,伺服器使用萬兆網絡卡的概率越來越高。最近裝了幾台伺服器都用的萬兆網絡卡,為了圖便宜,網絡卡和模組都是 上買的,這部還真遇到不少問題。我的伺服器都是centos6.4 64位的,網絡卡裝上後,lspci grep 82599 能看到網絡卡 執行lspci grep 82599能...