Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Debuger w atmel studio i dziwne zachowanie może nawet błąd w as

squelch 12 Sie 2017 21:48 750 5
  • #1 12 Sie 2017 21:48
    squelch
    Poziom 11  

    Witam
    Śmiały zapis problemu ale to mi wyglada na błąd.
    Kod który napisałem sprowadza sie do takiej postaci

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Na dole jest instrukcja na którą nastawiłem breakpointa jeśli zmienna jest równa 1 to zatrzymuje program.U góry nie ma żadnych poleceń przypisujacych wartość zmiennej. Program o dziwo sie zatrzymuje na breakpoincie. Jak to możliwe nie sadzę żebym w takim warunku popełniał błąd coś może jest nie tak z tym debugerem.

    Pozdrawiam

  • Pomocny post
    #3 12 Sie 2017 22:47
    R-MIK
    Poziom 37  

    squelch napisał:
    Witam
    Śmiały zapis provlemu ale to mi wyglada na blad.
    Kod ktory napisalem sprowadza sie do takiej postaci
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Nadole jest instrukcja na ktura nastawilem breakpointa (...)

    Obejrzyj rozwinięcie assemblerowe. Ta linia po optymalizacji nie istnieje. Dlaczego? Poprzedni kolega naprowadził cię na trop, napisałeś:
    jeśli warunek niespełniony i (... || ...) przypisz zmienna wartość jeden.

  • Pomocny post
    #4 13 Sie 2017 02:41
    Piotrus_999
    Poziom 39  

    Podejrzewam siebie a nie kompilator czy debugger. Zresztą jak są włączone optymalizację to wielu fragmentów może nie być, zmienne zostaną wyoptymalizowane, a kolejność działań zmieniona. Nie zmienia to działania

  • Pomocny post
    #5 13 Sie 2017 10:36
    BlueDraco
    Specjalista - Mikrokontrolery

    Ka[dz przyzwoity kompilator eliminuje instrukcje, które nigdy nie mają szansy się wykonać. Jeśli masz warunek zawsze fałszywy pod if, to blok pod tym if nie będzie w ogóle tworzony, Pokaż jak ten kod wygląda naprawdę, to może coś zobaczymy. Nie pokazałeś nawet deklaracji zmiennej.

  • #6 14 Sie 2017 23:04
    squelch
    Poziom 11  

    Macie racje że ten kompilator optymalizuje kod już o tym kiedyś pisał mi Piotrus999 gdzie podał jeszcze przykład jak wykonuje się każda instrukcja w c jakie ma rozkazy w asm. Ale cóż nie pomyślałem o tym.

    Bardzo przepraszam za pisownie ale obecnie zamiast pracować na komputerze muszę pracować na telefonie a tu klawisze małe więc ciężko paluchem trafić

    Pozdrawiam

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME