Hallo, ich habe das angehängte File fehlerfrei gebuildet und dann versucht zu debuggen. Der Code ist zu Testzwecken etwas "unsinnig". Der Debugger fängt ab dem 4.Befehl an wieder einen Befehl zurückzuspringen. Auch der Dissasembler zeigt, dass irgendwie der Code durcheinander ist, bzw etwas fehlt. Avr-Studio 4.16 mit SP1 Win-AVR 20090313 verwendeter Debugger: AVR Simulator Hier noch die ergebnisse des Build: Build started 23.6.2009 at 19:30:32 avr-gcc -I"G:\Modellbau\WINAVR\LCD\roters_lcd_avr_studio\." -mmcu=atmega8 -Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT main.o -MF dep/main.o.d -c ../main.c avr-gcc -mmcu=atmega8 -Wl,--defsym=__stack=0x400 -Wl,-Map=main.map main.o -o main.elf avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature main.elf main.hex avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex main.elf main.eep || exit 0 avr-objdump -h -S main.elf > main.lss AVR Memory Usage ---------------- Device: atmega8 Program: 76 bytes (0.9% Full) (.text + .data + .bootloader) Data: 0 bytes (0.0% Full) (.data + .bss + .noinit) Build succeeded with 0 Warnings... gruss Christoph
Gast
#1309703
Was macht der Debugger genau? Zeig mal dein Assembler Listing.
Hallo, ein Assembler-Listing habe ich nicht, es ist ja in C programmiert. gruss Christoph
Gast
#1309726
Das Assembler-Listing erzeugt der Compiler aus dem C-File, das findest du in der .lss-Datei im default-Ordner. "Unisnniges" Debuggerverhalten liegt meistens an der eingeschalteten Compileroptimierung. Da macht das Programm zwar, was du willst, aber nicht so, wie du willst (und die Debug-Info passt nicht mehr zum Assemblercode). Oliver
Hallo, super danke schön. Habe die Kompileroption unter "Project/ Compiler Option" auf "-o0" statt aus "-os" gestellt und schon reagiert alles, wie erwartet. Nochmals herzlichen Dank Gruss Christoph
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.