2012-01-26 13 views
5

Mam do czynienia z dziwnym zachowaniem punktów przerwania w Visual Studio 2010 Express. Poniżej znajduje się kod z punktami przerwania.Nie można uzyskać punktu przerwania w programie Visual Studio

enter image description here

Jestem w stanie przebić się na pierwszy punkt przerwania (linia 159), ale po wstępnej linii 160, kursor znika, tj po tym obrazie kodu wciśnięcie F10/F11 wyświetlana jest aplikacja.

Problem polega na tym,

Dlaczego nie jest linia 162 wykonaniem (Bez tego oświadczenia, asserts nie gdzie indziej) lub łamiąc przy tym?

Uwaga: wykonywana jest linia 166 Refresh();, ponieważ wyświetlana aplikacja jest aktualizowana.

EDIT: Na sugestie w komentarzach, ja przeszedł przez demontażu i znalazłem tę linię (od wxWidgets bibliotecznych) jest przyczyną debug niepowodzenie 00D5AF7C call wxCharBuffer::~wxCharBuffer (0D207AAh)

+3

Jeśli kod zostanie skompilowany w trybie zwolnienia, linia może zostać zoptymalizowana. Spróbuj skompilować kod w trybie debugowania. –

+0

To jest oczywiście problem z korupcją sterty/stosu – Ulterior

+0

@PhillipNgan: Już kompiluję w trybie debugowania. –

Odpowiedz

2

Czy próbowałeś przechodzeniu demontażu? Dzięki połączonemu widokowi źródło-montaż możesz powiedzieć, co dokładnie się dzieje.

Aby to zrobić, gdy trafisz punkt przerwania, przejdź do Debuguj-> Windows-> Demontaż. Lub po prostu kliknij RMB, a następnie "Przejdź do demontażu".

Powiązane problemy