for schleife
-
hallo
ich habe folgende Schleifefor(int=0;i<1000;++i) { ...code }
wie kann ich beim Debuggen direkt in der Schleifedurchlauf z.B. i=300 springen?
weil ab diesen Bereich läuft irgendwas schief und will ich das überprufen(debbuggen)
danke
-
int i = 300; for(;i<1000;++i) { ...code }
-
break filename:line if i == 300
-
jo entweder if abfrage oder geduldig F10 drücken. denk dran, du wirst hoffentlich pro std bezahlt
-
Ponto schrieb:
break filename:line if i == 300
kannst du es ein bisschen erklären. vielleicht mit einem Beispiel
Danke
-
for(int=0;i<1000;++i) { if(i == 300) { int egal = 42; // breakpoint hier } // code... }
Je nach verwendetem Debugger kannst du möglicherweise auch direkt einen bedingten Breakpoint setzen.
-
rtio schrieb:
Ponto schrieb:
break filename:line if i == 300
kannst du es ein bisschen erklären. vielleicht mit einem Beispiel
DankeNehmen wir folgendes Programm:
#include <iostream> int main() { int summe = 0; for (int i = 0; i != 1000; ++i) { summe += i; } }
Wir speichern es in schleife.C. Zeile 8 ist die Zeile mit dem std::cout. Es ergibt sich folgende Debugsesseion:
ponto@certa:~> g++ -g schleife.C ponto@certa:~> gdb ./a.out GNU gdb 5.2.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i586-suse-linux"... (gdb) break schleife.C:8 if i == 300 Breakpoint 1 at 0x8048777: file schleife.C, line 8. (gdb) run Starting program: /lfs/user/bartosch/a.out Breakpoint 1, main () at schleife.C:8 8 summe += i; (gdb) p i $1 = 300 (gdb) p summe $2 = 44850 (gdb)
-
hallo Ponto
das ist komplizierter für mich
ich arbeite unter windows mit VC++
-
mit vc++ geht es noch einfacher. einfach breakpoint wie gewohnt setzten, dann dessen eigenschaften ändern (z.b. durch rechts-klick auf den roten punkt - breakpoint properties/condition...)