Вы знаете, как читать другой стек процессов в Delphi ??
Да.
Вы можете перечислять темы с помощью Toolhelp функций; получить контекст с GetThreadContext(); и читать стековую память (т.е. используя ESP из контекста) с ReadProcessMemory(). Стек увеличивается в памяти вниз, поэтому чтение областей памяти после того, как ESP идет вниз по стеку.
GetThreadContext()
ReadProcessMemory()
Вы можете взглянуть на процедуру "TThreadSampler.MakeStackDump" следующего модуля моего профилировщика выборки: http://code.google.com/p/asmprofiler/source/browse/trunk/Sampling/mcThreadSampler.pas
Эта функция может читать из того же потока, или того же процесса или другого процесса (каждый со своей оптимизированной функцией).
Кстати: мой Sampling Profiler считывает символы отладки Delphi (.map, .jdbg и т. д.), потому что до сих пор нет хорошего конвертера символов отладки Delphi в Pdb (так что вы можете просмотретьстек Delphi-программы в отладчике Windows или Process Explorer, Visual Studio и т. д.).Вы также можете использовать мой профилировщик выборки для просмотра текущего стека любого процесса!http://code.google.com/p/asmprofiler/wiki/AsmProfilerSamplingMode