Unfortunately stepping through assembler code doesn't always work. But if it does then program continue inside DLL to something like ReleaseMutex where then context is switched to main thread and call stack will show proper information. So solution would be implementing something like "Thread status" window, where all threads will be listed with their id and running status similarly to Delphi. Ability to show call stack for every thread will be useful too.