Debugowanie kodu pod Visual studio 2013 - dlaczego wchodzi wgłąb kodu?

0

Zaczynam przygodę z C++ i postanowiłem korzystać z Visual Studio 2013, jako że mam go za darmo z Dreamsparka. Mam pytanie co do debugera - mając na przykład taki prosty program

#include <iostream>
using namespace std;
int main()
{
	int elo = 5;
	cout << elo << endl << "siema";
	elo -= 6;
	cout << endl << elo << endl << "siema";
	cin.get();
	return 0;
}

ustawiłem breakpointy obok int elo = 5; oraz elo -= 6;

no i potem włączając debugowanie gdy przechodzę przez "cout << elo << endl << "siema";" to wchodzi tak jakby wgłąb kodu, tj.

{	// insert NTBS into char stream
	typedef char _Elem;
	typedef basic_ostream<_Elem, _Traits> _Myos;
	ios_base::iostate _State = ios_base::goodbit;
	streamsize _Count = (streamsize)_Traits::length(_Val);	// may overflow
	streamsize _Pad = _Ostr.width() <= 0 || _Ostr.width() <= _Count
		? 0 : _Ostr.width() - _Count;
	const typename _Myos::sentry _Ok(_Ostr);

i jest tego dużo więcej. Jak domyślam się, jest pewnie gdzieś opcja w środowisku, aby to wyłączyć, lecz trochę mnie przerasta to. Mógłby ktoś podpowiedzieć co zrobić?

poprawienie tytułu wątku oraz dodanie znacznika <code class="cpp"> - fp

0

F10 - step over
F11 - step into

wybierz over

0

Jeszcze mam takie pytanie, jak na przykład jest jakiś błąd w kodzie (dajmy na to coś źle ze wskaźnikami, tak, że program się nie skompiluje) to wyskakuje okienko "There were build errors. Would you ...". Przy próbie włączenia trybu debugowania wyskakuje to samo. W Code::Blocks pamiętam, że można było sobie przejść step-by-step aż do momentu, gdzie program się przestawał kompilować - w jaki sposób to zrobić w VSC2013?

0

Ten błąd nie oznacza błędu w czasie wykonania, tylko błąd w czasie kompilacji, więc zamiast bawić się w debugowanie zajrzyj do okienka Errors z listą błędów kompilacji.

0

@kalwi - a jak chcesz debugować kod, jeśli nawet nie da się go skompilować..? o.O

1

to wyskakuje okienko "There were build errors. Would you ..."

W tym okienku należy zaznaczyć żeby więcej go nie pokazywało, kliknąć na Nie, i zapomnieć o jego istnieniu.

Okienko to jest szkodliwe, bo pozwala na uruchomienie programu niezgodnego z posiadanym kodem, co powoduje zamieszanie i prowokuje do zadawania pytań takich jakie własnie zadałeś.

1 użytkowników online, w tym zalogowanych: 0, gości: 1