Voglio solo passare al mio programma con Visual Studio 2005, ma quando provo a copiare ciò che mi ha mostrato il mio insegnante (kinda), comincio a passare attraverso altri file che appaiono spontaneamente nella mia finestra. Si chiamano cose a caso come "xstring" e "ios" e sono davvero frustrato. Per favore, come faccio a scorrere il mio codice?Debug di Visual Studio: voglio solo passare al mio programma!
risposta
http://mark.michaelis.net/Blog/VisualStudioKeyboardShortcutsWrapupMSDNFlashFeb22009.aspx
Fondamentalmente parlando si dovrebbe utilizzare F10 (step-over) e non F11 (step-in), quando attuale linea di codice contiene chiamata alla non la funzione.
Ho provato! Questo fa cose strane! –
Ma questo farà un passo in avanti su alcune delle funzioni che l'utente VUOLE fare. Molte istruzioni C++ contengono una combinazione di chiamate di libreria e chiamate a funzioni che fanno effettivamente parte del programma. – Stewart
Molto probabilmente quello che sta accadendo è che stai entrando in metodi integrati nel framework. Quando ciò accade, fai clic su "Esci" e tornerai nel tuo codice personale.
È anche possibile utilizzare "passaggio" per i metodi che si conoscono integrati, ovviamente rischiando di scavalcare i metodi in cui si desidera intervenire.
La mia raccomandazione è di assicurarsi di posizionare i punti di interruzione su ogni riga in cui si desidera controllare lo stato dell'applicazione - in questo modo è sufficiente utilizzare il pulsante di riproduzione (F5).
Perché sta accadendo: stai utilizzando oggetti dalla libreria di modelli standard. Alcune delle tue affermazioni stanno invocando esplicitamente o implicitamente metodi di queste classi STL. Stai entrando in questi metodi con il tuo debugger.
Ci sono due modi per risolvere questo:
Se sai che sei in uno statment che richiama un metodo STL, quindi scegliere il debugger "Step Over" di comando (F10) invece del suo Comando "Step Into" (F11).
Se si accede a uno di questi metodi per errore, utilizzare il comando "Esci" (Maiusc-F11) del debugger.
Sto provando a testare quali valori vengono assegnati alle variabili in una sezione, e mi sembra di entrare in questi metodi STL lì ... e sono troppo un principiante per capire cosa sta succedendo. –
Come soluzione, usa "Esci" (Shift-F11) se ti trovi in uno di questi metodi. Se è una consolazione, questo è un problema ben noto (non è solo per te). – ChrisW
Il modo migliore per evitare di passare a tali metodi è impostare le regole NoStepInto nel Registro di sistema. Controlla this blog post per esattamente come farlo.
Se si vuole evitare tutta la libreria standard, basta impostare la seguente regola:
10 std\:\:.*=NoStepInto
per Visual Studio 2005 è necessario aggiungere la regola alla seguente chiave
HKLM\Software\Microsoft\VisualStudio\8.0\NativeDE\StepOver
- 1. Passare argomenti al debugger XSLT di Visual Studio
- 2. Voglio Spy ++ ma non ho Visual Studio
- 3. Android Studio - Debug: passare al punto di interruzione successivo?
- 4. Visual Studio continua ad aggiungere proprietà al mio csproj. Perché?
- 5. Pubblica programma in Visual Studio
- 6. Registro di debug di Visual Studio (come logcat in Android)?
- 7. Pubblicazione di Visual Studio 2013 senza programma di installazione
- 8. Come eseguire il debug di un thread in Visual Studio
- 9. Frame sempre sopra il mio programma solo
- 10. Impossibile avviare il debug - Visual Studio 2012
- 11. Debug di un eseguibile in Visual Studio
- 12. Debug di Visual Studio 2008 - Ignora codice
- 13. Debug JavaScript in Visual Studio estremamente lento
- 14. Debug di immagini C++ non gestite in Visual Studio
- 15. Inserimento di pipe in un programma C++ per eseguire il debug in Visual Studio
- 16. Arresta Visual Studio dal programma di chiusura dopo il completamento
- 17. Visual Studio ignora try catch - debug only
- 18. Debug dei file di dump in Visual Studio
- 19. Imposta limite di memoria per il debug in Visual Studio
- 20. Visual Studio: esegue il debug di più progetti contemporaneamente?
- 21. Visual Studio 2012 "Impossibile avviare il debug"
- 22. Qualche modo per eseguire il debug del programma in Visual Studio sulla scheda grafica NVIDIA?
- 23. Come fermarsi al primo asser fallito in Visual Studio?
- 24. Come funziona il debug in Visual Studio?
- 25. Debug JavaScript in Visual Studio 2008
- 26. Visual Studio break all in debug
- 27. Visual Studio 2008 - Disattiva debug .NET Framework
- 28. Programma di debug XQuery
- 29. #defines automatico secondo Debug/Release config in Visual Studio 2010
- 30. IDE Visual Studio - ritorna al precedente
Modifica la tua domanda per dare un esempio breve e completo di un metodo che stai cercando di passare, e indica quale dichiarazione ti sta portando inaspettatamente nel codice STL. – ChrisW
Come qualcuno che ha lo stesso problema, io dovrò elaborare: nel corso del passaggio a una singola istruzione, si registrano spesso chiamate STL, chiamate del costruttore, nuove chiamate dell'operatore, ecc. Lungo la strada verso la funzione in cui si desidera effettivamente entrare. Come tale, sarebbe bello avere un modo per dire al debugger di passare automaticamente qualsiasi cosa dalle singole funzioni alle funzioni in un particolare modulo o di una particolare classe, anche quando si usa Step Into. – Stewart