estoy abierto apertura de un proceso (con C++/Windows) utilizandoPila Caminar un proceso depurado
if(CreateProcessA(NULL, // No module name (use command line)
(LPSTR)path, //argv[1], // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
creationFlags, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&startInfo, // Pointer to STARTUPINFO structure
&processInfo) // Pointer to PROCESS_INFORMATION structure
donde
DWORD creationFlags = DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS;
y luego estoy tratando de stackwalk con
bool ok = StackWalk64(IMAGE_FILE_MACHINE_I386,m_ps.Handle ,m_th.Handle,
&m_stackframe, &m_threadContext,
0, NULL, NULL, 0);
pero stackwalk solo me da la dirección superior y la siguiente es 0, mientras que yo conozco ther e hay más direcciones en la pila.
¿Alguien sabe cuál es el problema?
gracias :)
Ya he tenido esto funcionando bien cuando creé el proceso solo con el distintivo "CREATE_NEW_CONSOLE", pero ahora necesito apilar un proceso depurado. las banderas en "CreateProcess" son las únicas diferencias que he hecho ... – Idov