Расширение Python GDB: я пытаюсь получить вызывающую строку и информацию о файле для вызова макроса, но получаю неверныеC++

Программы на C++. Форум разработчиков
Anonymous
Расширение Python GDB: я пытаюсь получить вызывающую строку и информацию о файле для вызова макроса, но получаю неверные

Сообщение Anonymous »

У меня есть следующий код C++:
main.cpp:

Код: Выделить всё

#include "a.h"
int main(){

int x[3];
some_macro(x)
// comment
// comment
return x[2];
}
аа:

Код: Выделить всё

template 
inline void some_macro_break_point()
{
some_macro_break_point();
}

#define some_macro(name)                                         \
{                                                                \
some_macro_break_point();                     \
}
и используя расширение Python GDB, я пытаюсь получить строку и файл, в которых был вызван макрос при использовании GDB, учитывая тот факт, что у меня есть автоматическая точка останова над some_macro_break_point
При достижении точки останова я делаю следующее:

Код: Выделить всё

frame = gdb.newest_frame()
frame = frame.older()
pc = frame.pc()
symtab_line = gdb.find_pc_line(pc)
print(">>>> ", symtab_line.symtab.fullname() + ":" + str(symtab_line.line), "

Подробнее здесь: [url]https://stackoverflow.com/questions/78663660/python-gdb-extension-im-trying-to-get-the-calling-line-and-file-info-for-a-mac[/url]

Вернуться в «C++»