[753] in comp.os.os2.announce archive

home help back first fref pref prev next nref lref last post

SOFTWARE: Exception Handler for OS/2 - except3.zip (update)

daemon@ATHENA.MIT.EDU (Kim Rasmussen)
Fri Mar 1 21:38:31 1996

To: os2ann.DISCUSS@bloom-picayune.MIT.EDU
Date: 29 Feb 1996 15:14:15 GMT
From: kr@belle.dk (Kim Rasmussen)
Reply-To: kr@belle.dk (Kim Rasmussen)

Reply-To:     kr@belle.dk (Kim Rasmussen)
Submitted by: (Kim Rasmussen)
Source:       KR..
---------------------------------------------------------------------
The newest version of your favorite tool on DevCon is now available:
  Get except3.zip from http://www.belle.dk/kr/

Major features:
    - OS/2 Exception handler
    - Full C source
    - Show content of stack variables when an exception occurs
    - Makes it easy for you to find traps which happens only when you're
      running outside the debugger.
    - Saves trap information in an easy to read text file
    - Easy to use
    - Supports both C-Set/2 and VisualAge C++ debugging info


Below is an example of a live trap dump:

--------------------------
Exception C0000005 Occurred
 at 18:10:03  10/24/95
Invalid linear address 00000000


OS/2 Version 2.30
Failing code module internal name : TEST
Failing code module file name : E:\PRG\DEVCON\TEST.EXE
Failing code Object # 1 at Offset 13
      File     Line#  Public Symbol
  DDDDDDDDDDDD DDDD-  DDDDDDDDDDDD-
       TEST.C     16  f3 (test.obj) 0001:00000000
List of auto variables at EBP 28C4C in f3:
Offset Name                 Type                              Value
 DDDDDD DDDDDDDDDDDDDDDDDDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
DDDDDDDDDDDDDDDDD
 8     p                    near pointer to 8 bit unsigned    0x28C70
-4     q                    near pointer to 32 bit signed     0x0 invalid


ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD?
3 GS  : 0000     FS  : 150B     ES  : 0053     DS  : 0053     3
3 EDI : 00000000 ESI : 00000000 EAX : 00000000 EBX : 00000000 3
3 ECX : 00000005 EDX : 00000005                               3
3 EBP : 00028C4C EIP : 00010013 EFLG: 00012206 ESP : 00028C48 3
3 CS  : 005B     SS  : 0053                                   3
@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDY

 Failing instruction at CS:EIP : 005B:00010013 is  mov      [eax],0000


ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD?
3 Register content analysis          3
CDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4
3 EAX does not point to valid memory 3
3 EBX does not point to valid memory 3
3 ECX does not point to valid memory 3
3 EDX does not point to valid memory 3
3 EDI does not point to valid memory 3
3 ESI does not point to valid memory 3
@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDY

Thread slot 86 , Id 1 , priority 200
Stack Bottom : 00020000 (0017:0000) ;Stack Top    : 00028D20 (0017:8D20)
Process Id : 95 .EXE name : E:\PRG\DEVCON\TEST.EXE

Call Stack:
                                        Source    Line      Nearest
   EBP      Address    Module  Obj#      File     Numbr  Public Symbol
 DDDDDDDD  DDDDDDDD-  DDDDDDDD DDDD  DDDDDDDDDDDD DDDD-  DDDDDDDDDDDD-
 Trap  ->  000F:0013  TEST     0001       TEST.C     16  f3 (test.obj)
0001:00000000

 00028C4C  :0001006D  TEST     0001       TEST.C     30  f2 (test.obj)
0001:0000001C

List of auto variables at EBP 28C84 in f2:
Offset Name                 Type                              Value
 DDDDDD DDDDDDDDDDDDDDDDDDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
DDDDDDDDDDDDDDDDD
 8     f                    32 bit real                       19.000000
-4     i                    32 bit signed                     0
-36    p                    _s *                              0x28C64

 00028C84  :000100AC  TEST     0001       TEST.C     40  f1 (test.obj)
0001:00000074

List of auto variables at EBP 28CB0 in f1:
Offset Name                 Type                              Value
 DDDDDD DDDDDDDDDDDDDDDDDDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
DDDDDDDDDDDDDDDDD
 8     i                    32 bit signed                     7
-4     f                    32 bit real                       13.000000
-24    p                    near pointer to 32 bit real       0x28CAC

 00028CB0  :00010102  TEST     0001       TEST.C     50  main (test.obj)
0001:000000B4

List of auto variables at EBP 28CEC in main:
Offset Name                 Type                              Value
 DDDDDD DDDDDDDDDDDDDDDDDDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
DDDDDDDDDDDDDDDDD
-12    i                    32 bit signed                     4
-16    f                    32 bit real                       99.000000
-36    p                    near pointer to 32 bit signed     0x28CE0

 00028CEC  :00010521  TEST     0001       TEST.C     51  __RunExitList
(E:\BUILD\RT\SRC\EDCSTRT.ASM) 0001:00000480

 00028D08  DFDF:BF68  DOSCALL1 0004
Lost Stack chain - new EBP below previous



___________________________________________________________

Kim Rasmussen
Software Engineer
Belle Systems

<Work>     kr@belle.dk
<WWW>      http://www.belle.dk

<Home>     krasmus@ibm.net
<WWW>      http://www.belle.dk/kr/
=====================================================================
-- email os2_ann_req@bix.com to submit articles to comp.os.os2.announce
-- email lfirrantello@bix.com for comments to the moderator.

-- Please use "Reply-To:" or "Source:" addresses for email comments
   regarding this article.

home help back first fref pref prev next nref lref last post