Tengo un programa escrito en C++, en Linux, compilado con -g.Accediendo a la información del programa que gdb ve en C++
Cuando corro bajo el BGF, puedo
1) set breakpoints
2) at those breakpoints, print out variables
3) see the stackframe
4) given a variable that's a structure, print out parts of the structure (i.e. how ddd displays information).
Ahora, dado que mi programa se compila con "-g" - ¿Hay alguna forma que pueda acceder a este poder dentro de mi propio programa?
I.e. dado que mi programa se compila con "-g", ¿hay alguna
std::vector<string> getStackFrame();
función que pueda llamar para obtener el entorno de pila actual en el punto de ejecución actual?
Dado un puntero a un objeto y que es de tipo ... puedo hacer yo
getClassMember std :: vector (class_name);
?
Me doy cuenta de que la respuesta predeterminada es "no, C++ no admite ese nivel de introspección"; sin embargo, recuerde que estoy en Linux, mi programa está compilado con "-g" y gdb puede hacerlo, tan claramente la inforamción está allí. La pregunta es: ¿hay alguna API para acceder a ella?
EDIT: PS Naysers, me gustaría ver una razón para cerrar esta pregunta.
¿Por qué nadie quiere cerrar una pregunta perfectamente válida? –