Shared publicly  - 
 
 
I uploaded a modified version of "tds2pdb" to Google Code:
http://code.google.com/p/map2dbg/source/browse/#svn/trunk/tds2pdb/tds2pdbproto/bin/Debug/

Many thanks to the creator of the original project:
http://tds2pdb.sourceforge.net/

I only commented some code, so it tries to continue to generate .pdb files for Delphi executables too. (original project only supported C++Builder)

Steps how to use it with Delphi (32 and 64bit!):
- Compile your project with "TD32" (D7?) or with "Debug Information" (Compiler -> Linker options, D2010, XE2)
- Strip the TD32 information into a seperate .tds file with:
tdstrp32.exe -s <yourproject.exe>
Note: don't use the -s switch with a 64bit exe -> it will corrupt your exe! (the .tds is OK)
- Convert the .tds file into a .pdb file with:
tds2pdbproto.exe <yourproject.tds>
- Run your program
- Attach a debugger or a task manager, and write the path of the .pdb file:
- WinDbg.exe (Microsoft Debugging Tools for Windows, x86 for 32bit, x64 for 64bit)
- File -> Symbol file path
- Proces Explorer
- Options -> Configure symbols
- Proces Hacker
- Hacker -> Options -> Symbols
- View the stack of your thread -> you should see "your" class and functions names now!
It works for both 32bit and 64bit!
http://map2dbg.googlecode.com/svn/trunk/tds2pdb/images/windbg%20DelphiXE2_64bit%20tds2pdb.png
However ProcesExplorer does not show the full stack (64bit)?
http://map2dbg.googlecode.com/svn/trunk/tds2pdb/images/procesexplorer%20DelphiXE2_64bit%20tds2pdb.png
ProcesHacker works fine though:
http://map2dbg.googlecode.com/svn/trunk/tds2pdb/images/ProcesHacker%20DelphiXE2_64bit%20tds2pdb.png
1
1
Tobias Kluver's profile photoAndré Mussche's profile photoSimon Stuart's profile photo
 
Hello, I tried to generate a PDF file, exactly like your steps. above. But I'm not able to extract a TDS file from my 64 bit executable. Do you have some suggestions?

Thanks.
Tobias
 
+Tobias Kluver In newer Delphi XE+ versions there is a seperate linker option "place debug information in seperate TDS file", maybe you can try that one?
Add a comment...