From: Rich.Poum on
Is the following error dump below caused by a first chance exception?

If so, I'm having a hard time figuring out in the Visual Studio 6.0
debugger on how to figure out which line of code caused this
exception. Can anyone recommend a good site that effectively explains
how to do this?

Thanks


Loaded 'C:\Program Files\IBM\Bluetooth Software\BTKeyInd.dll', no
matching symbolic information found.
Warning: destroying CSingleDocTemplate with live document.
Detected memory leaks!
Dumping objects ->
strcore.cpp(118) : {248} normal block at 0x015A47C0, 47 bytes long.
Data: < " " Thur> 01 00 00 00 22 00 00 00 22 00 00 00 54 68
75
72
strcore.cpp(118) : {191} normal block at 0x015A3030, 31 bytes long.
Data: < For > 01 00 00 00 12 00 00 00 12 00 00 00 46 6F
72
20
C:\ARC3000\WhatCrashes\MainFrm.cpp(134) : {104} client block at
0x015A2320, subtype 0, 216 bytes long.
a CDialog object at $015A2320, 216 bytes long
{94} normal block at 0x015A2520, 40 bytes long.
Data: < > 00 00 00 00 00 00 00 00 00 01 00 08 00 00
00
00
plex.cpp(31) : {93} normal block at 0x015A2580, 124 bytes long.
Data: < ,Z > 00 00 00 00 00 00 00 00 00 00 00 00 CC 2C
5A
01
plex.cpp(31) : {92} normal block at 0x015A2630, 124 bytes long.
Data: < j > 00 00 00 00 00 00 00 00 00 00 00 00 A0 EB
6A
01
C:\ARC3000\WhatCrashes\aptcView.cpp(31) : {86} client block at
0x016AEBA0, subtype 0, 92448 bytes long.
a CAptcView object at $016AEBA0, 92448 bytes long
strcore.cpp(118) : {82} normal block at 0x015A1050, 36 bytes long.
Data: < ARC > 01 00 00 00 17 00 00 00 17 00 00 00 41 52
43
20
C:\ARC3000\WhatCrashes\MainFrm.cpp(24) : {80} client block at
0x015A2C10, subtype 0, 680 bytes long.
a CMainFrame object at $015A2C10, 680 bytes long
C:\ARC3000\WhatCrashes\aptcDoc.cpp(23) : {79} client block at
0x015A2EF0, subtype 0, 84 bytes long.
a CAptcDoc object at $015A2EF0, 84 bytes long
{56} normal block at 0x015A1530, 928 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD
CD
{54} normal block at 0x015A19B0, 132 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD
CD
{53} normal block at 0x015A1A60, 112 bytes long.
Data: < y > FC 9F 79 00 CD CD CD CD 01 00 00 00 00 00
00
00
{52} normal block at 0x016A9D38, 20000 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD
CD
{51} normal block at 0x016A4ED0, 20000 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD
CD
{50} normal block at 0x016A0068, 20000 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD
CD
{49} normal block at 0x01596F08, 20000 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD
CD
{48} normal block at 0x015A1B00, 112 bytes long.
Data: < y > F0 9F 79 00 CD CD CD CD 00 00 00 00 00 00
00
00
Object dump complete.
The thread 0xC14 has exited with code 1 (0x1).
First-chance exception in myprogram.exe: 0xC000008E: Float Divide by
Zero.
The thread 0x3E4 has exited with code 1 (0x1).
First-chance exception in myprogram.exe (DAQX.DLL): 0xC000008E: Float
Divide by Zero.
The thread 0xF28 has exited with code -1073741682 (0xC000008E).
The program 'C:\ARC3000\WhatCrashes\Debug\ARC.exe' has exited with
code -1073741682 (0xC000008E).
From: Capo6k on
On Jun 9, 1:55 pm, Rich.P...(a)gmail.com wrote:
> Is the following error dump below caused by a first chance exception?
>
> If so, I'm having a hard time figuring out in the Visual Studio 6.0
> debugger on how to figure out which line of code caused this
> exception. Can anyone recommend a good site that effectively explains
> how to do this?
>
> Thanks
>
> Loaded 'C:\Program Files\IBM\Bluetooth Software\BTKeyInd.dll', no
> matching symbolic information found.
> Warning: destroying CSingleDocTemplate with live document.
> Detected memory leaks!
> Dumping objects ->
> strcore.cpp(118) : {248} normal block at 0x015A47C0, 47 bytes long.
>  Data: <    "   "   Thur> 01 00 00 00 22 00 00 00 22 00 00 00 54 68
> 75
> 72
> strcore.cpp(118) : {191} normal block at 0x015A3030, 31 bytes long.
>  Data: <            For > 01 00 00 00 12 00 00 00 12 00 00 00 46 6F
> 72
> 20
> C:\ARC3000\WhatCrashes\MainFrm.cpp(134) : {104} client block at
> 0x015A2320, subtype 0, 216 bytes long.
> a CDialog object at $015A2320, 216 bytes long
> {94} normal block at 0x015A2520, 40 bytes long.
>  Data: <                > 00 00 00 00 00 00 00 00 00 01 00 08 00 00
> 00
> 00
> plex.cpp(31) : {93} normal block at 0x015A2580, 124 bytes long.
>  Data: <             ,Z > 00 00 00 00 00 00 00 00 00 00 00 00 CC 2C
> 5A
> 01
> plex.cpp(31) : {92} normal block at 0x015A2630, 124 bytes long.
>  Data: <              j > 00 00 00 00 00 00 00 00 00 00 00 00 A0 EB
> 6A
> 01
> C:\ARC3000\WhatCrashes\aptcView.cpp(31) : {86} client block at
> 0x016AEBA0, subtype 0, 92448 bytes long.
> a CAptcView object at $016AEBA0, 92448 bytes long
> strcore.cpp(118) : {82} normal block at 0x015A1050, 36 bytes long.
>  Data: <            ARC > 01 00 00 00 17 00 00 00 17 00 00 00 41 52
> 43
> 20
> C:\ARC3000\WhatCrashes\MainFrm.cpp(24) : {80} client block at
> 0x015A2C10, subtype 0, 680 bytes long.
> a CMainFrame object at $015A2C10, 680 bytes long
> C:\ARC3000\WhatCrashes\aptcDoc.cpp(23) : {79} client block at
> 0x015A2EF0, subtype 0, 84 bytes long.
> a CAptcDoc object at $015A2EF0, 84 bytes long
> {56} normal block at 0x015A1530, 928 bytes long.
>  Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
> CD
> CD
> {54} normal block at 0x015A19B0, 132 bytes long.
>  Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
> CD
> CD
> {53} normal block at 0x015A1A60, 112 bytes long.
>  Data: <  y             > FC 9F 79 00 CD CD CD CD 01 00 00 00 00 00
> 00
> 00
> {52} normal block at 0x016A9D38, 20000 bytes long.
>  Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
> CD
> CD
> {51} normal block at 0x016A4ED0, 20000 bytes long.
>  Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
> CD
> CD
> {50} normal block at 0x016A0068, 20000 bytes long.
>  Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
> CD
> CD
> {49} normal block at 0x01596F08, 20000 bytes long.
>  Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
> CD
> CD
> {48} normal block at 0x015A1B00, 112 bytes long.
>  Data: <  y             > F0 9F 79 00 CD CD CD CD 00 00 00 00 00 00
> 00
> 00
> Object dump complete.
> The thread 0xC14 has exited with code 1 (0x1).
> First-chance exception in myprogram.exe: 0xC000008E: Float Divide by
> Zero.
> The thread 0x3E4 has exited with code 1 (0x1).
> First-chance exception in myprogram.exe (DAQX.DLL): 0xC000008E: Float
> Divide by Zero.
> The thread 0xF28 has exited with code -1073741682 (0xC000008E).
> The program 'C:\ARC3000\WhatCrashes\Debug\ARC.exe' has exited with
> code -1073741682 (0xC000008E).

Focus in on the first encounter..( filename, line-number) .
strcore.cpp(118)
Set a breakpoint there and step into the code. You are probably
creating an object that is not being released ( deleted ) in the
destructor of your class.
From: Doug Harrison [MVP] on
On Mon, 9 Jun 2008 11:55:15 -0700 (PDT), Rich.Poum(a)gmail.com wrote:

>Is the following error dump below caused by a first chance exception?

No, it's caused by your program exiting.

>If so, I'm having a hard time figuring out in the Visual Studio 6.0
>debugger on how to figure out which line of code caused this
>exception. Can anyone recommend a good site that effectively explains
>how to do this?

By default, FP exceptions are masked, yet you are getting "Float Divide by
Zero" exceptions, which suggests you are enabling them. If so, are you
catching them, either with __try/__except or catch(...)? You see, "first
chance exceptions" don't do anything but give debuggers a chance to step in
before the exception is converted into a "second chance exception", which
crashes your program unless you catch it. Indeed, you will /always/ observe
these "first chance exception" messages when an exception is thrown. You
haven't mentioned crashing, so something must be catching the "first chance
exceptions". In any event, you can configure the debugger to stop on "first
chance exceptions", which will allow you to tell where they're coming from.

Given that MFC is exiting and dumping leaks before your threads exit, this
implies you're allowing threads to continue running while your program
shuts down. If this is true, see this page to learn why it's a bad idea:

http://members.cox.net/doug_web/threads.htm

If you're eating structured exceptions in an undisciplined way, see this
page to learn why it's a bad idea:

http://members.cox.net/doug_web/eh.htm

>Thanks
>
>
>Loaded 'C:\Program Files\IBM\Bluetooth Software\BTKeyInd.dll', no
>matching symbolic information found.
>Warning: destroying CSingleDocTemplate with live document.
>Detected memory leaks!
>Dumping objects ->
>strcore.cpp(118) : {248} normal block at 0x015A47C0, 47 bytes long.
> Data: < " " Thur> 01 00 00 00 22 00 00 00 22 00 00 00 54 68
>75
>72
>strcore.cpp(118) : {191} normal block at 0x015A3030, 31 bytes long.
> Data: < For > 01 00 00 00 12 00 00 00 12 00 00 00 46 6F
>72
>20
>C:\ARC3000\WhatCrashes\MainFrm.cpp(134) : {104} client block at
>0x015A2320, subtype 0, 216 bytes long.
>a CDialog object at $015A2320, 216 bytes long
>{94} normal block at 0x015A2520, 40 bytes long.
> Data: < > 00 00 00 00 00 00 00 00 00 01 00 08 00 00
>00
>00
>plex.cpp(31) : {93} normal block at 0x015A2580, 124 bytes long.
> Data: < ,Z > 00 00 00 00 00 00 00 00 00 00 00 00 CC 2C
>5A
>01
>plex.cpp(31) : {92} normal block at 0x015A2630, 124 bytes long.
> Data: < j > 00 00 00 00 00 00 00 00 00 00 00 00 A0 EB
>6A
>01
>C:\ARC3000\WhatCrashes\aptcView.cpp(31) : {86} client block at
>0x016AEBA0, subtype 0, 92448 bytes long.
>a CAptcView object at $016AEBA0, 92448 bytes long
>strcore.cpp(118) : {82} normal block at 0x015A1050, 36 bytes long.
> Data: < ARC > 01 00 00 00 17 00 00 00 17 00 00 00 41 52
>43
>20
>C:\ARC3000\WhatCrashes\MainFrm.cpp(24) : {80} client block at
>0x015A2C10, subtype 0, 680 bytes long.
>a CMainFrame object at $015A2C10, 680 bytes long
>C:\ARC3000\WhatCrashes\aptcDoc.cpp(23) : {79} client block at
>0x015A2EF0, subtype 0, 84 bytes long.
>a CAptcDoc object at $015A2EF0, 84 bytes long
>{56} normal block at 0x015A1530, 928 bytes long.
> Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
>CD
>CD
>{54} normal block at 0x015A19B0, 132 bytes long.
> Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
>CD
>CD
>{53} normal block at 0x015A1A60, 112 bytes long.
> Data: < y > FC 9F 79 00 CD CD CD CD 01 00 00 00 00 00
>00
>00
>{52} normal block at 0x016A9D38, 20000 bytes long.
> Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
>CD
>CD
>{51} normal block at 0x016A4ED0, 20000 bytes long.
> Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
>CD
>CD
>{50} normal block at 0x016A0068, 20000 bytes long.
> Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
>CD
>CD
>{49} normal block at 0x01596F08, 20000 bytes long.
> Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD
>CD
>CD
>{48} normal block at 0x015A1B00, 112 bytes long.
> Data: < y > F0 9F 79 00 CD CD CD CD 00 00 00 00 00 00
>00
>00
>Object dump complete.
>The thread 0xC14 has exited with code 1 (0x1).
>First-chance exception in myprogram.exe: 0xC000008E: Float Divide by
>Zero.
>The thread 0x3E4 has exited with code 1 (0x1).
>First-chance exception in myprogram.exe (DAQX.DLL): 0xC000008E: Float
>Divide by Zero.
>The thread 0xF28 has exited with code -1073741682 (0xC000008E).
>The program 'C:\ARC3000\WhatCrashes\Debug\ARC.exe' has exited with
>code -1073741682 (0xC000008E).

--
Doug Harrison
Visual C++ MVP