hey, gibt es eine möglichkeit per soucecode einen breakpoint fürs avr-studio zu setzen : ála "BREAK()" grund : habe in meinem programm zum debuggen diverse asserts eingebaut, welche hoffentlich nie angesprungen werden. sollten diese jedoch doch einmal angesprungen werden, möchte ich das der debugger/simulator stehen bleibt. -> sollte wenn möglich für simulator + mkII funktionieren thx neubi
Das habe ich bislang noch nicht gefunden. Was (als Krücke) aber immer funktionieren sollte, wäre eine IF-Abfrage deiner ASSERT-Bedingung und danach ein Dummy-Befehl, auf den Du einen Breakpoint setzt. In etwa so: if(assertcondition == false) { dummy++; // <-und hier einen Breakpoint setzen } Das ganze beeinflußt natürlich immer (wie jeder ASSERT) den Programmablauf (Timing, Speicher)!
hey, bis dato habe ich den ASSERT eigentlich so gemacht wie du bereits oben beschrieben hast. jedoch muss ich jedesmal händisch einen breakpoint auf die "dummy++" zeile machen !! -> in der debugversion würde ich gerne viele solcher asserts einbauen und jedesmal zig breakpoints händisch setzen ist da etwas langweilig ?!??! Neubi
Dann ruf in deinem assert eine routine auf, in der sich der dummy mit breakpoint befindet, und dannach ein rücksprung-befehl. AVR studio stoppt am breakpoint, du klickst einen step weiter und springst damit wieder in das betreffende assert zurück. Programmiere eigentlich in asm, hoffe ich habs verständlich ausgedrückt. Gruß Matze
.... und trotzdem muss ich in dieser dummyfunktion bei jedem build händisch einen breakpoint setzen -> und genau dass möchte ich umgehen ! Neubi
Dann lern am besten Assembler, da bleiben die Breakpoints auch nach dem Build bestehen und müssen somit nur einmal gesetzt werden :-) Trotzdem musst du mit der dummyfunktion den Brekpoint nur einmal setzen anstatt in jedem assert. Programmieren macht sich halt nicht ganz von selbst... MfG Matze
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.