turbo debugger's information

Posted on 2005-03-18
Medium Priority
Last Modified: 2010-08-05
Hello programmers,
I compiled an asm file (with tasm/zi), linked it (with tlink/v)
and got an exe file, which contains turbo debugger's information. I checked this information and saw that it begins with these 2 bytes (in hex): fb 52. I noticed that these 2 bytes appear, at the beginning of the debugger's information in various exe files. I know that the meaning of fb, as a mchine code is: sti and 52 is: push dx. I don't know whether the
turbo debugger interprets these bytes as data or as instructions. Who can explain ?
Thanks in advance.
Question by:xyoavx
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 22

Expert Comment

ID: 13578869
Most probably data.

LVL 11

Expert Comment

ID: 13580197
FB 50 is data from EXE file header and it exists even in executable without debug information.
LVL 11

Expert Comment

ID: 13580219
To be more specific about your FB 50:
---Borland TLINK
OFFSET              Count TYPE   Description
001Ch                   2 byte   ?? (apparently always 01h 00h)
001Eh                   1 byte   ID=0FBh
001Fh                   1 byte   TLink version, major in high nybble
0020h                   2 byte   ??
Want to be a Web Developer? Get Certified Today!

Enroll in the Certified Web Development Professional course package to learn HTML, Javascript, and PHP. Build a solid foundation to work toward your dream job!


Author Comment

ID: 13587875
Hi programmers,
Thank you for your efforts. I'm afraid that my question was not so clear. I'll clarify it by using the following example
 sseg segment stack 'stack'
  db 100h dup('*')
 sseg ends
 code segment
 assume cs:code
 x dw x
 db 7 dup()
 mov ax,sseg  
 mov ah,4ch
 int 21h
 code ends
 end start
The result of compiling (tasm f) and linking (tlink f) is an exe file (f.exe) which contains 784 (310h) bytes. I saw this by performing:
a) dir f.exe , b) by a calculation, based on  2 words in f.exe's header
(offsets 2 & 4). This exe file dos'nt contain information for the turbo debugger.
The result of compiling (tasm/zi f) and linking (tlink/v f) is an exe file
(f.exe) which contains 1186 bytes. I saw this by performing:
dir f.exe.
Now, the calculation, based on the above mentioned, 2 words, in f.exe's header, results (as in the former case) in 784 (310h) bytes. It means that for running this program under MS-DOS, this file contains only 310h bytes. The rest bytes contain debugger's information. I saw that the debugger's information begin with the 2 bytes (at offsets 310h & 311h)  fbh & 52h.
I noticed that these 2 bytes appear, at the beginning of the debugger's information in various exe files.
Who knows the meaning of these 2 bytes and the other bytes for the debugger ?
Thanks in advance,
LVL 11

Accepted Solution

dimitry earned 2000 total points
ID: 13593411
To do source code debugging, debugger needs to know how every "expression" in let's say C-code corresponds to its assembler equivalent.
So generally speaking debug information contains:
  for every source code module:
    its source code file name
    and for every line of source code:
       two numbers: offset in this source file (line number) and offset in executable

Now if you want to know exact format of borland debug info, you can try google search, but I feel like it is not an open information.
At least I didn't succeed to find it very easy.

And let me reask you: what exactly you are trying to achieve ?

Author Comment

ID: 13632386
Hello Dimitry,
Thanks for your answer.
You wrote:  "And let me reask you: what exactly you are trying to achieve ?"
My answer is very simple: knowledge. I am a very curious person who wants to know as much as possible. If I get an answer to my question maybe I'll be able to use these bytes in some way.
LVL 11

Expert Comment

ID: 13632540
Knowledge is great !
Take a look on:
It contains documents of different file format debug information.
Unfortunately Borland is not among them.

Author Comment

ID: 13698915
Hello Dimitry,
Thanks for the link.
LVL 61

Expert Comment

ID: 15698650
No comment has been added to this question in more than 21 days, so it is now classified as abandoned.

I will leave the following recommendation for this question in the Cleanup topic area:
    Accept: dimitry {http:#13593411}

Any objections should be posted here in the next 4 days. After that time, the question will be closed.

EE Cleanup Volunteer

Featured Post

Enroll in August's Course of the Month

August's CompTIA IT Fundamentals course includes 19 hours of basic computer principle modules and prepares you for the certification exam. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Check out the latest tech news, community articles, and expert highlights in August's newsletter.
We are witnesses that everyone is saying that our children shouldn't "play" with a technology because it is dangerous. This article is going to prove that they are wrong.
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question