В любом отладчике есть ф-я которая показывает вложенность вызовов процедур до текущей позиции (к примеру break point). Причем он это явно не трейсит... Так вот вопрос собсно каким образом действует stack-backtracing (читал вроде что использует сохраненные ebp для "отлова" stack frames, но как ?)... Гугл сует только сцылки на gdb
попробуй функции StackWalk, StackWalk64 от dbghelp.dll сам не пользовал, но хотелось бы, если попробуешь, был бы благодарен услышать результат
tylerdurden Call Stack можно получить следующим образом: Код (Text): __declspec(naked) Get_EBP(void) { __asm { mov eax, ebp ret }; } CollectFrames(ULONG CountStackFrames) { ULONG ReturnAddress; ULONG Frame; ULONG i; Frame = Get_EBP(); for(i=0; i<CountStackFrames; i++) { ReturnAddress = *(ULONG *)(Frame + sizeof(ULONG)); Frame = *(ULONG *) Frame; } }