@ProgrammerCS:

Ok I think I found something that helps:

http://stackoverflow.com/questions/8679406/get-startaddress-of-win32-thread-from-another-process

I was led to that by finding the following, and realizing you needed the symbol name for the thread's entry point:

http://stackoverflow.com/questions/5157083/getting-module-name-from-thread-information

The question asker in the first link says it works on getting the symbol name if he has the correct start address.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms681323(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/ms681323(v=vs.85).aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/ms681351(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/ms681351(v=vs.85).aspx

That's using Interop though.

I looked for an equivalent method in the C# Diagnostics namespace, all I could find was StackTrace and StackFrame, which seems to do that , but only for managed threads, not OS threads.