Solved

Debug Help

Posted on 2000-04-11
11
733 Views
Last Modified: 2013-11-20
Brief description of application:
ActiveX conrol running in IE 5.  The ActiveX control uses a Dundas Grid Control for display.  Control built using VC 5 with MFC42.  Client is NT 4 Workstation SP 3.

Here is all the information I have via a Dr Watson log file.  I don't have the mfc42.pdb file that matches the mfc42.dll on the target computer, so I am stuck.  Can anyone help?

This is the relevant section of the Dr Watson log, that is, I am only including the thread section for the thread that faulted.

Application exception occurred:
        App: exe\iexplore.dbg (pid=124)
        When: 4/10/2000 @ 16:39:36.155
        Exception number: c0000005 (access violation)

*----> System Information <----*
        Computer Name: FIG-GOLD
        User Name: JORDMQ
        Number of Processors: 1
        Processor Type: x86 Family 5 Model 2 Stepping 11
        Windows Version: 4.0
        Current Build: 1381
        Current Type: Uniprocessor Free
        Registered Organization: *****
        Registered Owner: *****

*----> Task List <----*
   0 Idle.exe
   2 System.exe
  20 smss.exe
  30 csrss.exe
  34 WINLOGON.exe
  40 SERVICES.exe
  43 LSASS.exe
  65 SPOOLSS.exe
  84 navapsvc.exe
  82 NPSSVC.exe
 102 nwmsgsvc.exe
 109 RPCSS.exe
 113 Timesync.exe
 118 TIVNTSVC.exe
 127 PSTORES.exe
 130 mstask.exe
 138 SUSS.exe
 149 alertsvc.exe
 174 NDDEAGNT.exe
 172 EXPLORER.exe
  88 NTVDM.exe
 100 navapw32.exe
 168 LOADWC.exe
  56 CMD.exe
 124 IEXPLORE.exe
 121 ActionManager.e.exe
 177 PERFMON.exe
 111 TASKMGR.exe
 195 ssmyst.scr.exe
 204 DRWTSN32.exe
   0 _Total.exe

(00400000 - 00413000) exe\iexplore.dbg
(77f60000 - 77fbc000) dll\ntdll.dbg
(77dc0000 - 77dfe000) dll\advapi32.dbg
(77f00000 - 77f5e000) dll\kernel32.dbg
(77e70000 - 77ec4000) dll\user32.dbg
(77ed0000 - 77efc000) dll\gdi32.dbg
(77e10000 - 77e62000) dll\rpcrt4.dbg
(70bd0000 - 70c14000) SHLWAPI.dbg
(70f20000 - 71006000) SHDOCVW.dbg
(71590000 - 71617000) COMCTL32.dbg
(77c40000 - 77d7b000) dll\shell32.dbg
(71730000 - 71730000)
(70400000 - 70477000) MLANG.dbg
(77b20000 - 77bd2000) dll\ole32.dbg
(71020000 - 710e4000) BROWSEUI.dbg
(717a0000 - 717a0000)
(779b0000 - 779b9000) dll\linkinfo.dbg
(77720000 - 77731000) dll\mpr.dbg
(77a40000 - 77a4c000) dll\ntshrui.dbg
(78000000 - 78048000) msvcrt.dbg
(77800000 - 7783a000) dll\netapi32.dbg
(77840000 - 77849000) dll\NetRap.dbg
(777e0000 - 777ed000) dll\samlib.dbg
(70280000 - 702ee000) URLMON.dbg
(77a90000 - 77a9b000) dll\version.dbg
(779c0000 - 779c8000) dll\lz32.dbg
(70200000 - 70270000) WININET.dbg
(5f810000 - 5f817000) dll\rpcltc1.dbg
(717e0000 - 717e9000) dll\shfolder.dbg
(65340000 - 653d2000) oleaut32.dbg
(776d0000 - 776d8000) dll\wsock32.dbg
(776b0000 - 776c2000) dll\ws2_32.dbg
(776a0000 - 776a6000) dll\ws2help.dbg
(77660000 - 7766e000) dll\msafd.dbg
(77690000 - 77699000) dll\wshtcpip.dbg
(74ff0000 - 74ffc000) dll\rnr20.dbg
(70c30000 - 70e70000) MSHTML.dbg
(48080000 - 48080000)
(76ab0000 - 76ab5000) dll\imm32.dbg
(66100000 - 66100000)
(10200000 - 10200000)
(01b40000 - 01b40000)
(01b70000 - 01b70000)
(01b90000 - 01b90000)
(01bb0000 - 01bb0000)
(01be0000 - 01be0000)
(01c20000 - 01c20000)
(01ca0000 - 01ccb000) ..\final\ENU/novnpntr.dll
(777f0000 - 777fc000) dll\ntlanman.dbg
(77890000 - 778a3000) dll\netui0.dbg
(77850000 - 7788a000) dll\netui1.dbg
(71190000 - 71197000) dll\msidle.dbg
(71240000 - 712a8000) dll\vbscript.dbg
(10000000 - 10000000)
(5f400000 - 5f4ec000) mfc42.dbg
(771e0000 - 771e8000) dll\comcat.dbg
(01d70000 - 01d70000)
(1f490000 - 1f4c5000) dll\ODBC32.dbg
(77d80000 - 77db2000) dll\comdlg32.dbg
(1f5d0000 - 1f5e4000) dll\ODBCINT.dbg
(04c00000 - 04c6d000) SQLSRV32.DBG
(1f4d0000 - 1f4e9000) dll\ODBCCP32.dbg
(73330000 - 73337000) DBmsSOCn.DBG
(1f500000 - 1f534000) dll\ODBCCR32.dbg
(5f600000 - 5f618000) drv\winspool.dbg
(74fc0000 - 74fcc000) dll\rpcltccm.dbg
(77670000 - 77684000) dll\mswsock.dbg
(02320000 - 02320000)
(02810000 - 02810000)
(5f300000 - 5f329000) olepro32.dbg
(02c60000 - 02c60000)
(70360000 - 70360000)
(0e800000 - 0e800000)
(0e000000 - 0e000000)
(0e100000 - 0e100000)
(031e0000 - 031e0000)
(03240000 - 03240000)
(03270000 - 03270000)
(032a0000 - 032a0000)
(032b0000 - 032b0000)
(032e0000 - 0331e000) c:\ceco\cab\ormet\AXScheduleSummary.ocx
(03320000 - 03320000)
(03350000 - 03350000)
(03380000 - 03380000)
(77a80000 - 77a8e000) dll\secur128.dbg
(71700000 - 71711000) dll\msapsspc.dbg
(77400000 - 77428000) dll\sch128c.dbg
(5e380000 - 5e3a5000) dll\msoss.dbg
(712c0000 - 7131e000) dll\crypt32.dbg
(716d0000 - 716ef000) dll\msnsspc.dbg
(60900000 - 6090e000) dll\digest.dbg
(74fa0000 - 74fab000) dll\rpcltscm.dbg
(036b0000 - 036b0000)

State Dump for Thread Id 0x47

eax=00edcdbe ebx=009c2dfc ecx=009c2dfc edx=30303030 esi=00a0e410 edi=680a0325
eip=5f4011bb esp=0006d7c4 ebp=0006d800 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000206


function: Ordinal3848
        5f4011a3 57               push    edi
        5f4011a4 7426             jz      Ordinal3848+0x2f (5f4011cc)
        5f4011a6 8b7c240c         mov     edi,[esp+0xc]          ss:0119c1cb=????????
        5f4011aa 33d2             xor     edx,edx
        5f4011ac 8bc7             mov     eax,edi
        5f4011ae c1e804           shr     eax,0x4
        5f4011b1 f77108           div     dword ptr [ecx+0x8]    ds:01af1802=????????
        5f4011b4 8b1496           mov     edx,[esi+edx*4]        ds:30303030=????????
        5f4011b7 85d2             test    edx,edx
        5f4011b9 7411             jz      Ordinal3848+0x2f (5f4011cc)
FAULT ->5f4011bb 397a04           cmp     [edx+0x4],edi          ds:31431a36=????????
        5f4011be 7404             jz      Ordinal3848+0x27 (5f4011c4)
        5f4011c0 8b12             mov     edx,[edx]              ds:30303030=????????
        5f4011c2 ebf3             jmp     Ordinal3848+0x1a (5f4011b7)
        5f4011c4 8b4208           mov     eax,[edx+0x8]          ds:31431a36=????????
        5f4011c7 5f               pop     edi
        5f4011c8 5e               pop     esi
        5f4011c9 c20400           ret     0x4
        5f4011cc 33c0             xor     eax,eax
        5f4011ce ebf7             jmp     Ordinal3848+0x2a (5f4011c7)

*----> Stack Back Trace <----*

FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Function Name
0006d800 5f406cc8 680a0325 5f4179e3 680a0325 009b46f0 mfc42!Ordinal3848
0006d820 1000b094 680a0325 009b46f0 0006d94c 00000038 mfc42!Ordinal2860

*----> Raw Stack Dump <----*
0006d7c4  25 03 0a 68 e0 2d 9c 00 - 47 13 40 5f 25 03 0a 68  %..h.-..G.@_%..h
0006d7d4  00 10 ed 77 5d 04 01 d4 - f0 0a 9f 00 5d 04 01 d4  ...w].......]...
0006d7e4  e0 2d 9c 00 b5 2f 40 5f - f3 38 40 5f d4 d7 06 00  .-.../@_.8@_....
0006d7f4  40 d9 06 00 38 fc 48 5f - ff ff ff ff 20 d8 06 00  @...8.H_.... ...
0006d804  c8 6c 40 5f 25 03 0a 68 - e3 79 41 5f 25 03 0a 68  .l@_%..h.yA_%..h
0006d814  f0 46 9b 00 40 fc 9d 00 - 00 00 00 00 07 00 8a 01  .F..@...........
0006d824  94 b0 00 10 25 03 0a 68 - f0 46 9b 00 4c d9 06 00  ....%..h.F..L...
0006d834  38 00 00 00 02 00 00 00 - 37 b0 00 10 00 af 00 10  8.......7.......
0006d844  31 36 37 36 30 35 37 36 - 60 4d 4f 44 45 3a 20 60  16760576`MODE: `
0006d854  31 36 37 37 37 32 31 35 - 60 4e 41 00 40 d9 06 00  16777215`NA.@...
0006d864  48 b0 f3 77 b8 cd f3 77 - ff ff ff ff 4c d9 06 00  H..w...w....L...
0006d874  40 d9 06 00 ac af 00 10 - 42 50 4f 4d 53 31 00 00  @.......BPOMS1..
0006d884  40 d9 06 00 55 af 00 10 - 31 36 3a 33 38 3a 35 34  @...U...16:38:54
0006d894  00 d9 06 00 40 d9 06 00 - c3 ae 00 10 30 34 2d 31  ....@.......04-1
0006d8a4  30 2d 32 30 30 30 00 ff - 4c d9 06 00 40 d9 06 00  0-2000..L...@...
0006d8b4  85 ae 00 10 31 36 37 36 - 30 35 37 36 60 53 43 48  ....16760576`SCH
0006d8c4  45 44 55 4c 45 20 53 55 - 4d 4d 41 52 59 20 60 31  EDULE SUMMARY `1
0006d8d4  36 37 37 37 32 31 35 60 - 4f 52 4d 45 54 00 9b 00  6777215`ORMET...
0006d8e4  6b 00 00 00 d8 d8 06 00 - 50 1b 40 5f 40 d9 06 00  k.......P.@_@...
0006d8f4  48 b0 f3 77 b8 cd f3 77 - ff ff ff ff 4c d9 06 00  H..w...w....L...

Thanks in advance.
0
Comment
Question by:mandhjo
  • 5
  • 2
  • 2
  • +2
11 Comments
 
LVL 4

Expert Comment

by:inpras
Comment Utility
Hi
Check code of UR activeX propabably there is condition in which UR accessing a memory which is not initialized or null string or window which is null (handle is null)
Hope this helps
0
 
LVL 4

Author Comment

by:mandhjo
Comment Utility
I've already spent a considerable amount of time doing just that.  The problem only occurs on the target machines and it is very sporadic.  I do not have access to their machines...I only have this Dr Watson file to go on.

Thanks for the suggestion.
0
 
LVL 4

Expert Comment

by:captainkirk
Comment Utility
here's how to get the debug symbols:

How to Install Symbols For Dr. Watson Error Debugging
Last reviewed: February 1, 1999
Article ID: Q141465
 


--------------------------------------------------------------------------------

The information in this article applies to:
Microsoft Windows NT Workstation versions 3.51, 4.0
Microsoft Windows NT Server versions 3.51, 4.0


SUMMARY
When the following Dr. Watson application error occurs, make sure that the Windows NT symbols are loaded for debug operation.

Dr. Watson Application Error:


   An application error has occurred and an application error log is being
   generated.

   DRWTSN32.exe Exception: access violation <Hex value>, Address: <Hex
   address>


MORE INFORMATION
If the debug information in the Dr. Watson log displays "no symbols," then the symbol tree from the Windows NT compact disc has not been loaded to the %SystemRoot% directory. In this case, the interpretation of the Dr. Watson log is going to be difficult.

If you want to interpret the Dr. Watson log, load the Windows NT symbols to your %SystemRoot% directory. To load the symbol tree:

WINDOWS NT 4.0


Run Expndsym.exe from the \Support\Debug directory at a command prompt by typing the following command:
"Expndsym F: C:\Winnt" (without the quotation marks)

where \WINNT is the %SystemRoot% where Windows NT is installed

This will create a C:\%SystemRoot%\SYMBOLS directory structure and place the *.DBG files in the appropriate sub-directory (Dll, Exe, etc.)


Symbols must also be installed for any Service Packs and hotfixes. Follow the appropriate step below for the Service Pack currently installed on the system.
Service Pack on CD-ROM ----------------------

Use Explorer or a command prompt to copy the Symbols directory and its contents from the CD-ROM \Support\Debug\<platform> directory, where <platform> is one of the following: I386, Alpha, MIPS, PPC, to the %SystemRoot% directory. For example, to copy the symbols for the Intel platform, type the following command:

"Xcopy E:\Support\Debug\I386\Symbols\*.* C:\Winnt\Symbols /S" (without the quotation marks)

Service Pack from Internet --------------------------

If you downloaded the Service Pack from the FTP or WWW site, you will also need to download the symbol files and follow the appropriate step below for the Service Pack currently installed on your system:

SP1 or SP2: Type the following command at a command prompt:

"Sym_400i.exe -d C:\Winnt\Symbols" (without the quotation marks)

SP3: Type the following at a command prompt and enter the path to the Symbols directory (i.e., C:\Winnt\Symbols) when prompted.

"Nt4sym3i.exe" (without the quotation marks)


WINDOWS NT 3.51

Locate the \Support\Debug\<platform>\symbols directory on the Windows NT compact disc. The <platform> is one of the following: i386, ALPHA, MIPS or PPC.

Copy the Symbols directory and its contents to the %SystemRoot% directory.

If you have a Service Pack installed, copy the contents of the Service Pack Symbols directory to the %SystemRoot%\Symbols directory.
 


Hope that helps...


0
 
LVL 4

Author Comment

by:mandhjo
Comment Utility
Thanks for the suggestion, but "no symbols" does not appear in my Dr Watson log.
0
 
LVL 4

Expert Comment

by:captainkirk
Comment Utility
Yeah - I was just wondering if the symbols for SP3 had been loaded... if not, you might get the mismatch problem with the dlls...
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 86

Accepted Solution

by:
jkr earned 500 total points
Comment Utility
Well, the function that crashes is 'CMapPtrToPtr::GetValueAt()', and it is called by 'CGdiObject::FromHandle()' - this can be foud out by checking mfc42.def for the ordinal numbers included in the stack dump... if you could find out the complete call stack, it'd be easy to figure out the complete call chain...
0
 
LVL 4

Author Comment

by:mandhjo
Comment Utility
Now that is helpful.  Thanks, jkr.  I will reward the points appropriately, but I would like to leave the question open for now (so I can get more people looking at it).
0
 
LVL 86

Expert Comment

by:jkr
Comment Utility
>>but I would like to leave the
>>question open for now (so I can get
>>more people looking at it)

No problem ;-)

If you have a tool that generates a stack trace upon the crash, you'll find the corresponding entry point names in the module definition file for mfc42.dll (and friends), so it shouldn't be too hard to track down the culprit...

0
 
LVL 9

Expert Comment

by:ShaunWilde
Comment Utility
have a nosey at bugslayer articles in the MSJ by John Robbins - the dll supplied I have found useful for creating a crash file when my code explodes - It might get further than the Drwatson crash dump did. Also consider investing in the mutek bugtrapper - I have found it invaluable for finding those esoteric crashes that only happen on other peoples machines. You can get a time-nobbled version from their web-site at www.mutek.com
0
 
LVL 4

Author Comment

by:mandhjo
Comment Utility
ShaunWilde -- Thanks for the suggestion.  I had found the John Robbins articles at MSJ already.  He's got a lot of good tips.
0
 
LVL 4

Author Comment

by:mandhjo
Comment Utility
Everyone had some great comments, but jkr's was exactly what I needed.  Thanks for the tip on checking out the mfc42.def file.  This will prove very useful in the future.

I was able to find the spot in my code where I was calling MFC functions that eventually resulted in the offending call.  While I couldn't figure out why it would have been failing, I modified my code and the problem hasn't resurfaced (so far).

Thank again.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Introduction: Finishing the grid – keyboard support for arrow keys to manoeuvre, entering the numbers.  The PreTranslateMessage function is to be used to intercept and respond to keyboard events. Continuing from the fourth article about sudoku. …
Introduction: Dialogs (1) modal - maintaining the database. Continuing from the ninth article about sudoku.   You might have heard of modal and modeless dialogs.  Here with this Sudoku application will we use one of each type: a modal dialog …
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…

728 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

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now