2015-04-22 46 views
1

當我給出「info share」命令並且我還在gdb上加載了符號文件和核心時,我收到了「此時沒有加載共享庫」。但是通常應該根據相應的應用程序將coredump加載到共享庫中。我已經指定了在搜索符號時GDB將尋找共享庫的solib搜索路徑。在「此時沒有加載共享庫」的情況下,是否有可能獲得回溯?

在「此時沒有加載共享庫」的情況下,是否有可能獲得回溯?

gdb>info sharedlibrary 
No shared libraries loaded at this time. 
gdb> bt 
#0 0xb6d1f232 in ??() 
#1 0xb6d25ddc in ??() 
#2 0xb6d25ddc in ??() 
Backtrace stopped: previous frame identical to this frame (corrupt stack?) 

非常感謝,提前。

回答

0

我得到「裝在這個時候沒有共享庫」

最常見的原因:二進制不匹配。

讓我們將主機定義爲運行GDB的機器,並將其作爲發生核心轉儲的機器。

  • 如果主機==目標,你可以給GDB主可執行文件,不崩潰的可執行文件匹配,或
  • 系統庫(尤其是libc)已更新,或
  • 主機!=主機和目標之間的目標和系統庫不同。

我指定的solib-search-path

指定solib-search-path您加載的core不起作用了。做到這一點,而不是:

​​

使用set verbose on可以幫助準確顯示該庫GDB試圖加載(如果有的話)。

相關問題