Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come risolvere Visual C asserzione Fallimento

asserzioni sono un accantonamento effettuato da ANSI C /C + + compilatori per controllare l'integrità di una dichiarazione di programmazione in fase di esecuzione . L' affermazione è una macro o una funzione che prende un'istruzione condizionale come parametro . Se la condizione di errore , il programma viene interrotto con una finestra di dialogo che indica errore di asserzione . Un buon esempio è l'uso disattento di puntatori . I puntatori sono indirizzi di memoria in cui si trova di dati o di una funzione di punto di ingresso . Se la variabile puntatore non punta a spazio di memoria utilizzabile e gratuito , o indica lo spazio in una zona proibita , quindi accedere a tale puntatore a tempo di esecuzione può causare un crash di sistema . Istruzioni
1

lancio Visual Studio. Seleziona progetto dell'applicazione. Fare clic sul menu più a destra discesa nello spazio di lavoro del progetto . Esso mostra due voci : " . Win32 Release" " Win32 Debug " e Selezionare " Debug Win32 ".
2

Clicca su "Build " nel menu spazio di lavoro del progetto o selezionare " Costruire " per ricostruire l'applicazione in modalità di debug .


3

eseguire la nuova costruzione all'interno di Visual Studio .
4

Nota le informazioni fornite , quali nome del file sorgente , il numero di riga , il nome del modulo o libreria quando si ottiene il " non riuscita " messaggio. Premere "Riprova " per eseguire il debug del codice sorgente .
5

Premere " Alt +7 " ( " Alt " e poi " 7" , mentre è premuto Alt ) per far apparire la finestra di debug . Guardate nello stack di chiamate da cima a fondo , e andare alla prima funzione dal codice sorgente dell'applicazione , saltando le chiamate di sistema che sono una parte del codice generato dal compilatore .
6

Leggi il tuo applicazione a riga di funzione per riga . Nota e tenere traccia di ogni parametro di funzione , variabile locale , globale e statico utilizzato . Cercare variabili puntatore essere utilizzati senza un'istruzione condizionale che controlla se il puntatore è NULL . Cercare puntatori non inizializzati e indici di array andati fuori dai limiti.
7

errori di programmazione corretti che si trovano in e /o attorno a questo pezzo di codice , eventualmente in funzione padre o precedentemente chiamato la funzione .
Pagina 8

Seguire la chiamata stack di debug per vedere quale linea nell'applicazione causato la violazione , se non è stato ancora diagnosticato l'errore. Scorrere le chiamate nidificate per rilevare l'errore. Questi potrebbero essere una combinazione di MFC , libreria di Windows e le chiamate di sistema .
9

Utilizzare il programma di utilità " Pageheap.exe " per eseguire il debug di errori di complessi di Windows memoria heap di riferimento che non possono essere catturati da diagnosticare codice dell'applicazione . Utilizzare le informazioni fornite dal messaggio di affermazione per un ulteriore monitoraggio .

 

Programmazione © www.354353.com