symbol-tables

    6熱度

    5回答

    我正在爲在Linux機器上運行的C語言編寫的應用程序實現一些有限的遠程調試功能。目標是與應用程序進行通信並查找任意變量的值或運行任意函數。 我能夠通過dlsym()調用查找符號,但我無法確定返回的地址是指的是函數還是變量。有沒有辦法通過這個符號表來確定輸入信息?

    -2熱度

    1回答

    我們都知道從符號表到類型表總是有引用,但是也可能會發生recrse情況。手段可以鍵入表引用回符號表?如果是,請舉例說明。

    7熱度

    2回答

    我正在寫一個程序來模擬elfdump -ecps 目前,它打印出ELF頭,程序頭和節頭正確,但我卡上的最後幾件符號表。 所需的輸出格式爲: Symbol Table Section: .dynsym index value size type bind oth ver shndx name [0] 0x00000000 0x00000000 NOTY LOCL D 0 UNDE

    5熱度

    1回答

    我在我的x86 Linux上爲嵌入式系統(mipsel)提供了一個交叉編譯工具鏈。我知道如何建立一個定製的內核(我們稱之爲形象「的vmlinux」),它和如何通過 objcopy -S -O binary vmlinux vmlinux.bin 作進一步處理我還需要圖像的加載地址和切入點剝離的形象。 之前剝離就沒有問題通過scripts/mksysmap,或者更明確地確定它們,通過 nm -n

    9熱度

    2回答

    我在看解釋ELF可執行文件的動態符號表(.dynsym)。我可以成功地解釋使用「值」屬性來表示符號的地址和「名稱」的符號表的.symtab(針對每個符號16個字節)的屬性來表示字符串的開頭的在.strtab偏移部分。但我無法使用相同的方法來解釋動態符號表(.dynsym)。我用阿里的博客[1]作爲參考。 我看着阿里的[2]的另一個博客,但我不明白是如何使用哈希表來解釋動態符號表。很明顯,這與符號表

    5熱度

    4回答

    正如我們所知,在Java中,方法名稱不足以區分不同的方法。 我認爲(可能是錯誤的),區分的方法,它需要以下信息: (className, methodName, methodParameters) 此外, 如何識別更有效地在內部的方法? 我聽說過「方法ID」。這是否意味着上述三元組和整數之間存在映射關係,因此JVM在解析後僅使用方法ID? 如果是這樣,它是否在符號表中? 謝謝!

    1熱度

    1回答

    我正在使用DyninstAPI(即SymtabAPI組件)來重寫二進制文件中的符號表。我用下面的方法來做到這一點: data_region->setPtrToRawData((void*) new_raw, data_region->getRegionSize()) 的方法成功返回,我檢查我的錯誤代碼,我甚至重新讀出已經成功地被替換的數據段。問題是原始二進制不會被新的原始.data部分重寫,原

    4熱度

    1回答

    我正在研究一個用Perl編寫的相當複雜的應用程序。我對這門語言有相當的經驗,但是我很困難。 我正在使用一個模塊Foo,它將sysread和syswrite用於文件句柄(本例中爲雙向套接字)上的各種操作,並傳遞給它的構造函數。 我要做到以下幾點:從另一個模塊,我寫,(讓我們稱之爲吧),我想改變這種狀況sysread執行/的方式寫行爲從屬於方法中調用的Foo只有當 Sysread等人需要像其他地方一樣

    2熱度

    3回答

    我正在Ruby中構建一個詞法分析器,並且即將開始在符號表中收集和存儲符號。我關於符號設計的主要問題以及它是否應該是靜態表(意味着所有數據將保持在課程級別),還是應該以實例爲基礎。 選項1:類級別的數據結構 require 'SymbolTableEntry.rb' class SymbolTable @sym_table = Array.new(500) def initi

    0熱度

    1回答

    當然,C/C++程序中定義的每個變量的符號和類型信息都是可用的,否則調試器將無法顯示它們。但是如何獲取這些信息? 關於精靈很多信息是可用的,但畢竟是如何關聯的,似乎堆棧即 在遠程實時系統(未UNIX下)上舉行全球唯一變量,而不是本地的,我我希望能夠通過複製列表中的一些內存以及相關的變量名稱,然後在RT系統繼續時查看它們。 最好的方式是可以隨時爲任何變量引入轉儲,而不需要在代碼中預先添加一些語句。