[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference decwet::visual

Title:Microsoft Visual C++ bug reports and kits
Notice:Register in Topic 2. 5.Last for latest Kit
Moderator:DECWET::THOMASN
Created:Tue May 17 1994
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:521
Total number of notes:2938

484.0. "VC5.0 - Stopping on exception." by NETRIX::"[email protected]" (Stephen Moore) Tue Mar 18 1997 20:00

Hi,

There seems to be a problem in the debugger for Alpha kit in terms of stopping

when an exception is thrown. 

I run the simple program below using the debugger and set Debug - Exceptions 
to stop always. Instead of stopping at the throw line I get a breakpoint at

    NTDLL 77f4effc()

and no other stack trace information.

Cheers
Steve


/////////////////////////////////////////////////////////////
#include <string>
#include <iostream>
using namespace std;
void main ()
{
        try
        {
            string name = string("D:\dev\output\AlphaDbg\boris");
            throw name;
        }
        catch(string& str)
        {
                cout << "HELLO WORLD " << str << endl;
        }
}


[Posted by WWW Notes gateway]
T.RTitleUserPersonal
Name
DateLines
484.1work aroundDECWET::PETERSONWed Mar 19 1997 12:0120
    Thanks for the bug report.  For some reason that we weren't able to debug,
    all NT dlls are not traceable.
    
    After the exception occurs, a "step over" in the ntdll.dll assembly
    code steps to the user exception handler.
    
    This allows you to see how the exception is handled, but it does not
    allow you to see what caused the exception.
    
    A workaround to get a call-stack of where the exception was raised is
    manually unwind the stack as follows:
    set sp = to =x10 plus the current value of sp [you can do this in a
    watch window]
    set ra = *(long*)(sp)
    set fir = 0x77e920c4
    
    delete the above expressions before proceeding
    
    a step over or go then proceeds normally to stop at your catch handler
    
484.2bugDECWET::METZGERThu Apr 03 1997 11:362
    Refer to Raid bug 24933