5
我想聲明數組方便變量,如是否可以將一個GDB便利變量聲明爲一個數組?
set $list[10]
但我得到一個語法錯誤。
是否可以使用便利變量創建一個向量?
我可以使用指針,如果我能找到一個絕對區域內存GDB可以使用目標程序將不會使用。
哦,順便說一句,我沒有一個符號表,我正在使用一個不兼容GDB的編譯器調試目標程序。
GDB的跨目標版本我不支持python。
我想聲明數組方便變量,如是否可以將一個GDB便利變量聲明爲一個數組?
set $list[10]
但我得到一個語法錯誤。
是否可以使用便利變量創建一個向量?
我可以使用指針,如果我能找到一個絕對區域內存GDB可以使用目標程序將不會使用。
哦,順便說一句,我沒有一個符號表,我正在使用一個不兼容GDB的編譯器調試目標程序。
GDB的跨目標版本我不支持python。
我認爲這是唯一可能的,如果你在劣勢分配內存。也就是說,嘗試類似:
set $list = (int *) malloc (10 * sizeof (int))
更改類型以適合。
另一個類似的選項是使用{...}功能。我不能確定,但我認爲這可能會在某些情況下爲劣勢分配記憶。總之,請嘗試:
print {1,2,3,4}[2]
我得到
$1 = 3
我會嘗試{...}功能。我不能使用malloc(),因爲我沒有符號表,因此gdb不知道malloc()在哪裏。我可以創建一個便利的變量$ malloc,其地址爲malloc。這可能會起作用。 – KeithSmith
如果你有任何可用的地址,你可以使用{TYPE}類型來處理它。例如:set $ var = {int [4]}&main。或者類似的東西,請參閱手冊 - 我無法記住此擴展的確切語法。 –
@TomTromey我不認爲只有通過手動分配內存的方式才能實現。看:代碼'set $ test =「Hello」','perror($ test)'可以正常工作。你甚至可以把地址。 –