symbol-table

    0熱度

    1回答

    在python我們可以使用下列內容: symtable.symtable(code,file,compile type) 但有可能得到一個symtable對象當前可執行的代碼?

    0熱度

    1回答

    我有這種奇怪的情況繼續。我正在嘗試去掉樹莓派的一些庫函數。例如,我希望bcm2835_delay()爲delay()。我有兩個文件,pi.h和pi.c.當我用gcc -lm pi.c -c編譯這兩個時,我的de-prefixed delay()變爲bcm2835_delay()。以下是我的兩個文件和objdump -t pi.o的輸出。 pi.h #include <bcm2835.h> #d

    3熱度

    1回答

    我有一個應用程序,我想檢查,我沒有資源來重建它,並創建符號表,如here(gcc -g my_app.c)。 當我叫info locals我得到以下錯誤「沒有可用的符號表信息」 當我用Eclipse的工作,即使我沒有圖書館的資源可以解決將當前函數的參數轉換爲arg0,arg1 ... argN,如果我還沒有正確記住對象的成員。 有沒有什麼辦法可以生成一個自定義/通用/默認符號表,一個可以滿足GDB

    1熱度

    1回答

    我試圖從目標文件中提取信息,使用nm命令進行某種靜態代碼分析,其中我必須計算C代碼中聲明的變量和函數的數量。我已經通過了GNU Binutils的documentation。我可以在nm返回的符號表中找到在全局範圍聲明的變量,但是我找不到在本地範圍內聲明的變量。這是爲什麼?我怎樣才能訪問它? 除nm之外還有其他方法可以提取我想要的信息。作爲一個編譯器,gcc應該爲它的使用生成一個符號表。我可以通過

    8熱度

    4回答

    我試圖處理納米的輸出或readelf -s上的可執行文件。但是,我在輸出中區分靜態函數時遇到問題。 以下是我與合作: test.c的 static int foo() { int x = 6; } main() {} other.c static int foo() { int x = 5; } 我編譯這些像這樣: gcc -o test test.c othe

    0熱度

    2回答

    我正在查看Firefox開發工具(不是螢火蟲),他們似乎沒有跟蹤後臺Javascript(例如使用setInterval執行的代碼)。是否有任何開發人員工具可以跟蹤setInterval運行以及下一次執行的時間?

    0熱度

    1回答

    我在編譯器設計過程中讀到掃描的輸出是一對序列(符號表中的符號代碼,符號位置)。我對「職位」部分的含義有點困惑。 當符號表被表示爲可以使用索引(例如數組)來訪問元素的結構時,「位置」是清楚的,這意味着數組中的第1個,第2個,第99個元素。 例如,對於源代碼: if (a == b) a = a + c; 的掃描的輸出將是流:(...,(ID,1),...,(ID,2),... ,(id,3))

    1熱度

    2回答

    假設我在代碼的某處放置了一個斷點。調試器是否會讓程序運行到那個點,或者它是否按照指令進行解釋?假定程序使用-g標誌進行編譯。我在問,因爲我的朋友說調試器無法在符號表中保留棧中的變量地址,因此需要解釋。然而,我認爲,至少調試器在輸入函數時知道堆棧變量從堆棧開始的偏移量。

    1熱度

    1回答

    主要我想看看編譯器生成的函數(默認構造函數,拷貝構造函數,賦值運算符,移動賦值,析構函數)。 只是想看看編譯器爲我生成的函數。 我以爲我可以在符號表中看到這一點,但我無法在符號表中發現它們,並且名稱會變形。我可以看到我定義的其他函數,但我不知道如何找到構造函數等。 有沒有更好的方法來查看哪些函數與類關聯?

    0熱度

    1回答

    我正在研究一個需要在linux機器上執行的項目,該機器沒有庫的GLIBCXX_3.4.20版本,但代碼需要它。無論如何找到我的代碼(C++)要求這個版本的哪一部分? 我閱讀使用objdump和realdef的ELF文件,我發現了符號需要它: [email protected]_3.4.20 (4) ,但我不知道這是我的代碼部分可以進行相關。