<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Project tds2dbg</title><link>https://sourceforge.net/p/tds2dbg/</link><description>Recent changes to Project tds2dbg</description><atom:link href="https://sourceforge.net/p/tds2dbg/feed.rss" rel="self"/><language>en</language><lastBuildDate>Tue, 23 Jul 2019 19:18:35 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/tds2dbg/feed.rss" rel="self" type="application/rss+xml"/><item><title>Bugs in tds2pdb</title><link>https://sourceforge.net/p/tds2dbg/discussion/1016055/thread/d7c8d94b0c/?limit=25#cad9</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;tds2pdb has a wrong segMap structure definition:&lt;br/&gt;
struct CVssSegMapSegDesc {&lt;br/&gt;
...&lt;br/&gt;
   WORD offset;     /*&lt;em&gt; Offset of logical segment within physical segment.    !!&lt;br/&gt;
                        Always 0. &lt;/em&gt;/                                          !!&lt;br/&gt;
   WORD cbSeg;      ///&amp;lt; Size of segment.&lt;br/&gt;
These fields are defined as unsigned long (4 bytes) in Microsofts headers:&lt;br/&gt;
typedef struct OMFSegMapDesc&lt;br/&gt;
....&lt;br/&gt;
unsigned long   offset;&lt;br/&gt;
    unsigned long   cbSeg;&lt;br/&gt;
} OMFSegMapDesc;&lt;/p&gt;
&lt;p&gt;Another error is probably the result that the uploaded tds2pdb.exe was compiled with 2-byte structure field  alignment, that leads to wrong written name prefix in PROCSYM32:&lt;br/&gt;
typedef struct PROCSYM32 {&lt;br/&gt;
...&lt;br/&gt;
+36    CV_PROCFLAGS    flags;          - this field is 1 byte in size, but tds2dbg writes a 2-byte field&lt;br/&gt;
+37    unsigned char   name&lt;span&gt;[1]&lt;/span&gt;;        // Length-prefixed name&lt;br/&gt;
} PROCSYM32;&lt;br/&gt;
Thus name length is always zero and symbols are seen without names.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alex</dc:creator><pubDate>Tue, 23 Jul 2019 19:18:35 -0000</pubDate><guid isPermaLink="false">https://sourceforge.net6a9a1d64a11475a9a9b25e2d90614c83952d9ae3</guid></item><item><title>Main_Page modified by bbar</title><link>https://sourceforge.net/p/tds2dbg/wiki/Main_Page/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v24
+++ v25
@@ -16,11 +16,37 @@

 tds2dbg will read the Borland debug symbol file associated with the Microsoft Windows executable program.exe (program.tds) and create a corresponding Microsoft DBG debug symbol file (program.dbg). Additionally, it will modify a flag in program.exe to signal that debug symbols are available externally to the executable. 

+The general syntax for invoking tds2dbg is as follows: 
+    
+    tds2dbg [ [-h|--help] | [-t|--types] [-s|--statics] [--] program.exe ]
+
+The listed options are described below: 
+    
+    
+      -h, --help     Prints a help text. Running tds2dbg without arguments
+                     will do the same.
+      -v, --verbose  Each occurence of this option increases verbosity.
+      -q, --quiet    Operate silently.
+      -t, --types    Convert types (incomplete feature).
+      -s, --statics  Treat statics as publics.
+      -b, --barecv   Write bare code view data. No PE header is added.
+    
+
+The -b option can be used to generate a CodeView file without PE header file as used by the [Open Watcom](http://www.openwatcom.org/) debugger. Note, however, that tds2dbg is currently unable to generate CodeView debug information that will be accepted by the Open Watcom debugger. 
+
+Similarly, you can use the the wstrip tool from the [Open Watcom](http://www.openwatcom.org/) tool suite to move the CodeView debug information from an executable generated by the Open Watcom compiler to a separate debug file. If you ensure that this file has the .tds exentension, tds2dbg will be able to generate a corresponding dbg file for you. For some reason, however, such dbg files are not usable by windbg. It seems that windbg has problems with the PE header generated by the [Open Watcom](http://www.openwatcom.org/) compiler. 
+
+Interoperability with the [Open Watcom](http://www.openwatcom.org/) compiler is interesting because the [Open Watcom](http://www.openwatcom.org/) suite provides the Dr. Watcom tool. This is a tool similar to Dr. Watson. However, Dr. Watcom generates minidumps in another format than the Microsoft minidumps. Hence, one needs the Open Watcom debugger, as well as debugging symbols acceptable to it, to investigate such dumps. 
+
+## Maturity
+
+Version 0.2.0 of tds2dbg has received very little testing. Please join in, try it out, and report any issues you find. 
+
 ## Roadmap/Ideas

   1. Convert non-public and non-static symbol names (names of local functions and variables) 
   2. Convert types 
-  3. Align the generated CodeView data with that generated by the openwatcom compiler. 
+  3. Align the generated CodeView data with that generated by the Open Watcom compiler. 
   4. Generate CodeView NB10 (.pcb files) - requires quite a bit of reverse engineering as this format is undocumented. 

 ## See Also
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">bbar</dc:creator><pubDate>Wed, 21 May 2014 20:40:55 -0000</pubDate><guid isPermaLink="false">https://sourceforge.net294331c4b8d3b28913059b7a6e2f057ee4306393</guid></item><item><title>Main_Page modified by bbar</title><link>https://sourceforge.net/p/tds2dbg/wiki/Main_Page/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v23
+++ v24
@@ -8,7 +8,7 @@

 Minidump files contain a partial snapshot of an applications state and can be loaded into one of the Microsoft Debuggers, e.g. [windbg](http://www.microsoft.com/whdc/) from the Debugging Tools package, for off-line investigation of the problem. To this end, the debugger also needs debugging symbols for the application. Unfortunately, debugging symbols generated by Borland C++ or Delphi (tds files) are not understood by the Microsoft debuggers and Borlands debuggers are unable to handle the minidumps. So, if your application happens to be written in Borland C++ or Delphi, you will need a tool like tds2dbg to convert the Borland debugging symbols into something that can be used by the Microsoft debuggers. 

-The advantage of relying on the tds files instead of map files from the linker is that far more information can be extracted from the tds files and hence potentially much more useful dbg files generated. Currently, however, the generated dbg files only contain source-file and line number information. In particular, debug information on local and global variables is currently not converted, although that is often needed for effective debugging. Stay tuned for progress in this area! For now, manual decoding of the call stack is required to investigate local variables. However, one can often get surprisingly far with just the information on source-file and line numbers. Combined with available source code, one can easily identify function or class names, for example. 
+The advantage of relying on the tds files instead of map files from the linker is that far more information can be extracted from the tds files and hence potentially much more useful dbg files generated. Currently, however, the generated dbg files only contain source-file and line number information as well as address information on public and (optionally) static symbols (functions and variables). Debug information on local variables and functions is currently not converted, although that is often needed for effective debugging. Manual decoding of the call stack is required to investigate local variables. However, one can often get surprisingly far with just the debug information already provided by tds2dbg. 

 ## How To

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">bbar</dc:creator><pubDate>Wed, 21 May 2014 20:40:55 -0000</pubDate><guid isPermaLink="false">https://sourceforge.net47dcdb4426dc033a192a4730210de2296eadafed</guid></item><item><title>Main_Page modified by bbar</title><link>https://sourceforge.net/p/tds2dbg/wiki/Main_Page/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v22
+++ v23
@@ -16,10 +16,12 @@

 tds2dbg will read the Borland debug symbol file associated with the Microsoft Windows executable program.exe (program.tds) and create a corresponding Microsoft DBG debug symbol file (program.dbg). Additionally, it will modify a flag in program.exe to signal that debug symbols are available externally to the executable. 

-## Roadmap
+## Roadmap/Ideas

-  1. Convert symbol names (names of functions and variables) 
+  1. Convert non-public and non-static symbol names (names of local functions and variables) 
   2. Convert types 
+  3. Align the generated CodeView data with that generated by the openwatcom compiler. 
+  4. Generate CodeView NB10 (.pcb files) - requires quite a bit of reverse engineering as this format is undocumented. 

 ## See Also

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">bbar</dc:creator><pubDate>Wed, 21 May 2014 20:40:55 -0000</pubDate><guid isPermaLink="false">https://sourceforge.netf7ac7cb808a23252f4cec6bc6730d4d993d56771</guid></item><item><title>Main_Page modified by bbar</title><link>https://sourceforge.net/p/tds2dbg/wiki/Main_Page/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v21
+++ v22
@@ -23,7 +23,7 @@

 ## See Also

-  1. [Community_portal] 
+  1. [Community portal](Tds2dbg:Community_Portal) 

 ## Links

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">bbar</dc:creator><pubDate>Wed, 21 May 2014 20:40:55 -0000</pubDate><guid isPermaLink="false">https://sourceforge.net3f612ba2b384ab0e067f53d0f1a37bb05c4e37bc</guid></item><item><title>Main_Page modified by bbar</title><link>https://sourceforge.net/p/tds2dbg/wiki/Main_Page/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v20
+++ v21
@@ -23,7 +23,7 @@

 ## See Also

-  1. [Community_Portal] 
+  1. [Community_portal] 

 ## Links

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">bbar</dc:creator><pubDate>Wed, 21 May 2014 20:40:55 -0000</pubDate><guid isPermaLink="false">https://sourceforge.net5580df3a388bf8653952ec84d13c1696d01181fc</guid></item><item><title>Main_Page modified by bbar</title><link>https://sourceforge.net/p/tds2dbg/wiki/Main_Page/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v19
+++ v20
@@ -21,6 +21,10 @@
   1. Convert symbol names (names of functions and variables) 
   2. Convert types

+## See Also
+
+  1. [Community_Portal] 
+
 ## Links

   * [tds2dbg Home page](http://tds2dbg.sourceforge.net/)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">bbar</dc:creator><pubDate>Wed, 21 May 2014 20:40:54 -0000</pubDate><guid isPermaLink="false">https://sourceforge.net8b3ef4b441a1eff396c2eaf933636c32763d49a6</guid></item><item><title>Main_Page modified by bbar</title><link>https://sourceforge.net/p/tds2dbg/wiki/Main_Page/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v18
+++ v19
@@ -24,6 +24,8 @@
 ## Links

   * [tds2dbg Home page](http://tds2dbg.sourceforge.net/)
+  * [Help forum](http://sourceforge.net/projects/tds2dbg/forums/forum/1016059)
+  * [Discussion forum](http://sourceforge.net/projects/tds2dbg/forums/forum/1016055)
   * [Project pages](http://sourceforge.net/projects/tds2dbg/)
   * [Source code](https://sourceforge.net/scm/?type=svn&amp;amp;group_id=280441)

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">bbar</dc:creator><pubDate>Wed, 21 May 2014 20:40:54 -0000</pubDate><guid isPermaLink="false">https://sourceforge.net93f0db00763b4af0631ba438153e471cc62ad53e</guid></item><item><title>Main_Page modified by bbar</title><link>https://sourceforge.net/p/tds2dbg/wiki/Main_Page/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v17
+++ v18
@@ -1,6 +1,6 @@
 [TOC]

-## tds2dbg
+## About tds2dbg

 tds2dbg is a tool that converts Borland Turbo Debug Symbol files (tds) to Microsoft DBG symbol files. 

@@ -21,6 +21,12 @@
   1. Convert symbol names (names of functions and variables) 
   2. Convert types 

+## Links
+
+  * [tds2dbg Home page](http://tds2dbg.sourceforge.net/)
+  * [Project pages](http://sourceforge.net/projects/tds2dbg/)
+  * [Source code](https://sourceforge.net/scm/?type=svn&amp;amp;group_id=280441)
+
 ## Related Projects

   * [map2dbg](http://code.google.com/p/map2dbg/)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">bbar</dc:creator><pubDate>Wed, 21 May 2014 20:40:54 -0000</pubDate><guid isPermaLink="false">https://sourceforge.net41dbc49d14d3f1111dc2b806b09519bfaf64f461</guid></item><item><title>Main_Page modified by bbar</title><link>https://sourceforge.net/p/tds2dbg/wiki/Main_Page/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v16
+++ v17
@@ -1,3 +1,5 @@
+[TOC]
+
 ## tds2dbg

 tds2dbg is a tool that converts Borland Turbo Debug Symbol files (tds) to Microsoft DBG symbol files. 
@@ -6,12 +8,19 @@

 Minidump files contain a partial snapshot of an applications state and can be loaded into one of the Microsoft Debuggers, e.g. [windbg](http://www.microsoft.com/whdc/) from the Debugging Tools package, for off-line investigation of the problem. To this end, the debugger also needs debugging symbols for the application. Unfortunately, debugging symbols generated by Borland C++ or Delphi (tds files) are not understood by the Microsoft debuggers and Borlands debuggers are unable to handle the minidumps. So, if your application happens to be written in Borland C++ or Delphi, you will need a tool like tds2dbg to convert the Borland debugging symbols into something that can be used by the Microsoft debuggers. 

-Currently, the generated dbg files only contain source-file and line number information, but once you have this information, you can easily identify function or class names if you have the source code available. 
+The advantage of relying on the tds files instead of map files from the linker is that far more information can be extracted from the tds files and hence potentially much more useful dbg files generated. Currently, however, the generated dbg files only contain source-file and line number information. In particular, debug information on local and global variables is currently not converted, although that is often needed for effective debugging. Stay tuned for progress in this area! For now, manual decoding of the call stack is required to investigate local variables. However, one can often get surprisingly far with just the information on source-file and line numbers. Combined with available source code, one can easily identify function or class names, for example. 

-Debug information on local and global variables is currently not converted, although that is often needed for effective debugging. Stay tuned for progress in this area! For now, manual decoding of the call stack is required to investigate local variables. 
-
-### How To
+## How To

     tds2dbg program.exe

 tds2dbg will read the Borland debug symbol file associated with the Microsoft Windows executable program.exe (program.tds) and create a corresponding Microsoft DBG debug symbol file (program.dbg). Additionally, it will modify a flag in program.exe to signal that debug symbols are available externally to the executable. 
+
+## Roadmap
+
+  1. Convert symbol names (names of functions and variables) 
+  2. Convert types 
+
+## Related Projects
+
+  * [map2dbg](http://code.google.com/p/map2dbg/)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">bbar</dc:creator><pubDate>Wed, 21 May 2014 20:40:54 -0000</pubDate><guid isPermaLink="false">https://sourceforge.net0ade89f368c64ebf8bf0b0ec6d08d8598c71ea5f</guid></item></channel></rss>