====== Přerušení ====== Při ladění je možno si program krokovat a sledovat, co se v programu mění. Body přerušení si můžeme vložit jak při programování, tak při ladění programu. ===== ST ===== Bod přerušení je možno vložit dvěma způsoby: buď kliknutím myši před číslo řádku v programu, nebo kliknutím pravým tlačítkem myši a z nabídky kliknout na "Body přerušení -> Vložit bod přerušení". {{:cs:mervis-ide:35-help:breakpoint6.png}} Vložené body přerušení jsou zaznamenány v záložce "Body přerušení" {{:cs:mervis-ide:35-help:breakpoint7.png}} Při zastavení programu na určitém bodě přerušení je v záložce "Stav systému" vidět, kde je program zastaven. {{:cs:mervis-ide:35-help:breakpoint8.png}} V programu je aktuální pozice zastavení programu znázorněna žlutou šipkou. {{:cs:mervis-ide:35-help:breakpoint9.png}} ===== FUPLA ===== Ve fuple se přerušení chová podobně jako v editoru ST: buď kliknutím pravým tlačítka myši a z nabídky kliknout na "Body přerušení -> Vložit bod přerušení", nebo si kliknutím označit blok a klávesou "F9" přidat/odebrat přerušení. {{:cs:mervis-ide:35-help:breakpoint11.png}} Bod přerušení se ve fuple zobrazí stejně jako u programu ST. Blok, na kterém se zastavilo krokování, je označen žlutou šipkou. V pravém dolním rohu bloku je zobrazeno číslo, které určuje pořadí krokování. {{:cs:mervis-ide:35-help:breakpoint10.png}} ===== Krokování přerušení ===== {{:cs:mervis-ide:35-help:breakpoint.png}} {{:cs:mervis-ide:35-help:breakpoint1.png}} **Pokračovat [F5]** - Program přejde k dalšímu bodu přerušení. {{:cs:mervis-ide:35-help:breakpoint2.png}} **Krok přes [F10]** - Program přejde k dalšímu příkazu (nemusí být bodem přerušení). {{:cs:mervis-ide:35-help:breakpoint3.png}} **Krok dovnitř [F11]** - Program přejde k dalšímu příkazu nebo vstoupí do funkce/metody z příkazu aktuálního (označeného šipkou, pokud je na řádce sám). {{:cs:mervis-ide:35-help:breakpoint4.png}} **Krok ven [Shift+F11]** - Program vyskočí z funkce-metody nahoru, odkud byla funkce-metoda volána. {{:cs:mervis-ide:35-help:breakpoint5.png}} **Přerušení [Ctrl+Alt+Pause]** - Program se zastaví na aktuální pozici, od této pozice je možno krokovat. ==== Příklad krokování přerušení v ST ==== {{:cs:mervis-ide:35-help:breakpoint20.png}} Ukázkový příklad ukáže krokování změn hodnoty proměnných a krokování ve volané funkci, která vypočítá čtvrtou mocninu. Při startu ladění se přerušení zastaví na prvním bodě přerušení. {{:cs:mervis-ide:35-help:breakpoint21.png}} Stiskem tlačítka **Pokračovat [F5]** skočíme na následující bod přerušení na řádku 8. {{:cs:mervis-ide:35-help:breakpoint23.png}} Pokud si do volané funkce nevložíme žádný bod přerušení, ale chceme sledovat stav programu i při chodu funkce, musíme použít tlačítko **Krok dovnitř [F11]**. {{:cs:mervis-ide:35-help:breakpoint24.png}} V zavolané funkci se můžeme pohybovat tlačítky **Krok přes [F10]** a **Krok dovnitř [F11]**. {{:cs:mervis-ide:35-help:breakpoint25.png}} Ze zavolané funkce se dostaneme buď až když odkrokujeme všechny řádky kódu funkce, nebo stisknutím tlačítka **Krok ven [Shift+F11]**, které vyskočí na volání funkce, a nebo stiskem tlačítka **Pokračovat [F5]**, které program posune na další bod přerušení. {{:cs:mervis-ide:35-help:breakpoint26.png}} Z posledního bodu přerušení se krokováním dostaneme na první bod přerušení. ==== Příklad krokování přerušení ve FUPLE ==== {{:cs:mervis-ide:35-help:breakpoint30.png}} Ukázkový příklad ukáže krokování sčítání, odčítání a krokování ve funkci. Při začátku krokování se program zastaví na prvním bodě přerušení. {{:cs:mervis-ide:35-help:breakpoint31.png}} K dalšímu bodu přerušení se nejrychleji dostaneme pomocí tlačítka **Pokračovat [F5]**. {{:cs:mervis-ide:35-help:breakpoint32.png}} Krokováním **Krok přes [F10]** a **Krok dovnitř [F11]** můžeme odkrokovat až do vnitřního kódu funkce. Vyskočit z funkce můžeme pomocí tlačítka **Krok ven [Shift+F11]**.