Ejemplo n.º 1
0
// CCrashDlg message handlers
BOOL CCrashDlg :: OnInitDialog ( )
{
    CDialog::OnInitDialog ( ) ;
    
    ASSERT ( NULL != m_pExptPtrs ) ;
    
    LPCTSTR szStr = GetFaultReason ( m_pExptPtrs ) ;
    
    m_cFaultReason.SetWindowText ( szStr ) ;
    
    szStr = GetRegisterString ( m_pExptPtrs ) ;
    
    m_cRegisters.SetWindowText ( szStr ) ;
    
    szStr = GetFirstStackTraceString ( GSTSO_MODULE     |
                                        GSTSO_SYMBOL    |
                                        GSTSO_SRCLINE    ,
                                       m_pExptPtrs        ) ;
    while ( NULL != szStr )
    {
        m_cCallStackList.AddString ( szStr ) ;
        szStr = GetNextStackTraceString ( GSTSO_MODULE     |
                                            GSTSO_SYMBOL   |
                                            GSTSO_SRCLINE   ,
                                          m_pExptPtrs        ) ;
    }
    
    if ( FALSE == IsMiniDumpFunctionAvailable ( ) )
    {
        m_cMiniDumpBtn.EnableWindow ( FALSE ) ;
    }
    return ( FALSE ) ;
}
Ejemplo n.º 2
0
void BuildStackTrace()
{
	
	FillMemory( g_stackTrace[0],MAX_STACK_TRACE*256, 0 );

	const TCHAR* traceDump = 
		GetFirstStackTraceString( GSTSO_MODULE | GSTSO_SYMBOL | GSTSO_SRCLINE,
									g_BlackBoxUIExPtrs );
	g_stackTraceCount = 0;

	UpdateInitDlgProgress( 85 );
	int incr = 85;
	while ( NULL != traceDump ) {
		
		lstrcpy( g_stackTrace[g_stackTraceCount], traceDump );		
	
		g_stackTraceCount++;

		UpdateInitDlgProgress( incr );
		incr += 2;
		traceDump = GetNextStackTraceString( GSTSO_MODULE | GSTSO_SYMBOL | GSTSO_SRCLINE,
			g_BlackBoxUIExPtrs );		
	}				
}