wiki:DevelopersFAQ

Version 2 (modified by guest, 17 years ago) (diff)

--

DevelopersFAQ

Here you can find answers to some of the most frequently asked questions about development of FM/2. If you have

a question not answered on this page, you can ask it at

http://tech.groups.yahoo.com/group/fm2user/


  1. Trouble Shooting
    1. How to find the source code for a trap?
    2. When the trap is in the watcom libraries, how can I trace it back to the actual call in the source?


Trouble Shooting

How to find the source code for a trap?

The OpenWatcom? maps does not provide the source line detail that the VAC maps provided, so the procedure for locating the trapping source code line changes a bit, but it's still reasonable easy.

Grab the object:offset value for the failing cs:eip from popuplog.os2.

Sort the memory map section of fm3dll.map.

FInd the function containing the trapping object:offset value.

Calculate the offset from the function start to the object:offset value.

Determine the source file for the function containing the trapping function.

Run

wdis -l -s filename.obj

where filename is the source file base name. This will create filename.lst.

Find the failing function in filename.lst

Find the calculated offset.

This is the line that trapped.

There will be labels of the form L$289. These are relative to the function start so it's easy to find the matching source code in filename.c

When the trap is in the watcom libraries, how can I trace it back to the actual call in the source?

For this you need a trap dump file. Then you can let pmdf do the work. You need my mapsymw.pl to convert the Watcom map file to something pmdf can use. To get my mapsymw.pl, you can contact me at

Steven H. Levine
steve53@…

You can also use the Watcom debugger. It can give you a call trace too.