cost 85 ms
給定一個庫 function 我怎樣才能得到它的文件偏移量?

[英]Given a library function how can I get its file offset?

使用 backtrace 和 backtrace_symbols,我可以獲得一個 function 感興趣的名稱(我們稱它為屬於 libfsw.so 的 funcA_mangledName。 我的目標是獲取定義它的源文件和行號。 我可以為庫文件中未定義的函數執行此操作,如下所示。 stacktr ...

如何使用atos/addr2line/llvm-symbolizer/lldb圖像查找--address獲取與lldb相同的行號

[英]how to get line numbers same as lldb using atos/addr2line/llvm-symbolizer/lldb image lookup --address

我想以編程方式將回溯堆棧地址(例如從 backtrace_symbols/libunwind 獲得)轉換為 file:line:column。 我在 OSX 上,但懷疑這有什么不同。 所有這些都為調用 fun1() 提供了錯誤的行號(第 11 行): 阿托斯 地址線 llvm-符號化器 ...

帶有存檔文件的 addr2line

[英]addr2line with archive files

我正在嘗試將addr2line與存檔文件libdpdk.a一起使用我有一個回溯: 我嘗試了以下命令: 預期的 output應該是地址0x46fd05或0x46fd05的回溯中的 function 的名稱,具體取決於我通過哪個地址。 目前沒有與該地址關聯的符號名稱。 任何建議。 我已經使用-rdyn ...

如何使用atos? (或在Mac OS X上為addr2line)

[英]How to use atos? (or addr2line on Mac OS X)

我看到以下使用addr2line示例。 但是,各接口atos和addr2line是不同的。 我不確定如何使用atos使其工作。 有人可以告訴我如何將其轉換為使用atos嗎? https://balau82.wordpress.com/2010/10/06/trace-and-prof ...

C++ - Windows 上是否有類似 addr2line 的命令

[英]C++ - Is there any command likes addr2line on Windows

如果 Windows 應用程序在沒有 pdb 的情況下在用戶設備上崩潰,它將產生如下調用堆棧: 但我在開發設備上有 .PDB 文件,所以我想通過 .PDB 處理源代碼行。 我知道一個命令addr2line可以通過Linux上的.so文件尋址,不知道addr2line上有沒有addr2line之類的命 ...

內核地址上的addr2line找不到源行

[英]addr2line on kernel address cannot find source line

我正在構建啟用了調試符號的自定義linux內核(4.15.0 x86_64)。 我發現addr2line無法指向源代碼行。 addr2line -e vmlinux 0xffffffff9be625f0 gdb還使用以下命令返回“沒有可用於地址的行號信息” $ gd ...

Libunwind PC 值不適用於 addr2line

[英]Libunwind PC value not working with addr2line

我正在嘗試按照鏈接中的示例進行操作: https ://eli.thegreenplace.net/2015/programmatic-access-to-the-call-stack-in-c/ 但是我遇到了一些問題。 我有一段這樣的代碼,它使用 libunwind 來打印回溯信息: 測試.cp ...

如何從配置文件地址獲取函數名稱?

[英]How to get function names from profile addresses?

我在Linux上組合了一個性能分析器,但在將收集到的堆棧跟蹤信息映射到函數名稱時遇到了麻煩。 我目前正在從我的后期處理代碼中調用addr2line,如下所示 但是,這很慢,因為我的個人資料有很多樣本。 是否還有其他比addr2line更快的實用程序,或者我可以以比我更有效的方式調 ...

使用C ++ STL理解addr2line消息

[英]Making sense of the addr2line message with C++ STL

我一直遇到這種罕見的段錯誤,並且在調試它時,我設法從addr2line程序獲取以下輸出。 由於_S_copy_chars()是std :: string中的私有函數,因此我顯然不直接調用它。 但是我無法猜測哪個公共函數正在調用它。 如果我能弄清楚public函數,則可以歸零導致段錯誤 ...

addr2line如何找到源文件和代碼行?

[英]How addr2line can locate the source file and the line of code?

addr2line將地址轉換為文件名和行號。 我仍然是調試的初學者,並對addr2line有一些疑問。 如果要調試某個.so(二進制)文件,該工具如何定位其源代碼文件(從哪里可以找到它!),如果源代碼不存在怎么辦? 二進制文件中的地址與其源文件中的行號之間是什么關系,因此ad ...

如何在Ubuntu中為addr2line提供符號文件以與剝離的二進制文件一起使用?

[英]How can I provide addr2line with a symbol file for use with a stripped binary in Ubuntu?

我有一個在Ubuntu中運行的C ++應用程序。 我想做的是剝離應用程序二進制文件的符號,以使其不屬於二進制文件的一部分,而是使用addr2line實用程序通過引用符號文件而非二進制文件中的符號來獲取回溯信息。 。 這可能嗎? 到目前為止,我得到的最接近的結果是使用以下命令生成符號文件 ...

反向addr2line

[英]Reverse of addr2line

給定一個目標文件和地址addr2line工具可以將它與源代碼中的文件和行號相關聯。 我想反其道而行之。 給定行號和目標文件,我想得到一個指令地址列表,它對應於源代碼中的給定行。 我知道我可以使用objdump -DS並尋找一條線,但這很不方便,需要手動過濾掉地址。 如果我給它一個 ...

從C庫中獲取當前執行路徑

[英]Get current execution path from within C library

我正在用C編寫一個記錄器庫,目前我正在嘗試使用addr2line來獲得更好的回溯輸出。 為此,我需要能夠獲取當前可執行文件的路徑。 目前我只關心linux,但也將支持Mac OS支持。 對於Linux支持,我正在嘗試使用readlink()和/proc/self/exe來解析當前可執行 ...

為什么addr2line無法將某些地址解析為函數名稱?

[英]Why addr2line is not able to resolve certain address to function names?

我有從執行命令dumpheap -n <PID> <file>獲得的回溯。 我必須將這些地址轉換為函數名稱和行號,以使這些回溯有意義。 我使用addr2line將這些地址轉換為函數名稱。 這是我使用的命令addr2line -C -f -e <libname& ...

分析由於庫有錯誤而發生的崩潰的回溯

[英]Analyze backtrace of a crash occurring due to a faulty library

在我的應用程序中,我有設置信號處理程序來捕獲Segfaults,並打印bactraces。 進程啟動時,我的應用程序會加載一些插件庫。 如果我的應用程序崩潰了一個段錯誤,由於主可執行二進制文件中的錯誤,我可以用以下內容分析回溯: 它准確地顯示了函數和source_file:lin ...

addr2line中的“鑒別器”是什么?

[英]What's the “discriminator” in addr2line?

在某些程序中運行addr2line時,我會在行尾給出一個“鑒別器N”注釋: main at /tmp/nsievebits.c:56 (discriminator 3) 手冊頁沒有提到它,快速谷歌搜索似乎主要表明源代碼文件,沒有明確的解釋。 這是一些故意無證的功能嗎? 更重要的是 ...

如何在Android上使用addr2line?

[英]How do I use addr2line for Android?

我的代碼(在Android上使用AndEngine和PhysicsBox2DExtension的游戲)崩潰,並且有人建議我使用addr2line,但我完全不知道如何做到這一點,而且我看過的許多“教程”非常含糊。 也許有人可以給我一步一步的指示? 我正在使用Windows 7和Eclips ...

glibc函數檢索當前的可執行文件名?

[英]glibc function to retrieve current executable name?

我想知道是否有一個glibc函數,我可以使用gcc / g ++來檢索當前的可執行文件。 這樣做的目的是為addr2line提供-e參數,如本答案所示 ...

如何在Linux中使用addr2line命令?

[英]How to use the addr2line command in Linux?

我試圖在Unix中使用addr2line命令,但每次它提供與??:0相同的輸出。 我將命令作為addr2line -e a.out 0x4005BDC 。 我用valgrind工具運行這個a.out可執行文件時得到了這個地址,以找到內存泄漏。 我還用-g選項編譯了源代碼。 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM