請幫我解決這個問題。我執行以下在gdb和控制檯輸出命令被如下 -gdb拋出錯誤說程序有一個函數「malloc」
Rohan_gdb $組是$ var = 15
Rohan_gdb $ P $變種
$ 5 = 0xf
Rohan_gdb $組是$ var =爲(int *)10
Rohan_gdb $ p $變種
$ 6 =(INT *)是0xA
Rohan_gdb $集合$炭= 「ABC」
Rohan_gdb $ P $炭
$ J = 「ABC」
Rohan_gdb $集合$焦炭=(字符*) 「XYZ」
評估這個表達式需要程序具有一個函數 「malloc」。 * //這裏我得到錯誤.... *
Rohan_gdb $ P $焦炭
$ 8 = 「ABC」
Rohan_gdb $
我在這裏與目標調試而不是本機調試。我正在使用GNU gdb(GDB)7.2版本。是否可以使用腳本解決。 任何人都可以幫我解決這個問題。在此先感謝.....
malloc是在標準C庫中,你如何加載符號? – Michael 2016-01-17 18:04:43
這是一個非常好的問題。通常情況下,標準C庫的符號對於我工作的環境來說「就在那裏」。鑑於OP的問題的背景,我懷疑它們處於並非如此的環境中。坦率地說,最簡單的解決方案是編譯一個圍繞malloc()的存根包裝器,並與它鏈接並手動調用它。說實話,自從我不得不建立標準庫以來,這已經很長時間了,如果沒有大量研究,我現在不知道如何去做。 – bbum 2016-01-17 18:51:57