Remove ads
From Wikipedia, the free encyclopedia
Breakpoint (zarážka, bod přerušení) je v informatice místo, kde dojde k zastavení vykonávání počítačového programu. Používá se v debuggeru při ladění, aby mohl programátor provést inspekci běhového prostředí (registry procesoru, operační paměť, logy, soubory atd.) a zjistil, zda program funguje podle očekávání. V praxi se breakpoint často kombinuje podmínkami, které určují, kdy by měl být program zastaven.
Breakpointy vynalezla programátorka Betty Holberton při práci s ENIACem, jedním z prvních digitálních počítačů.[1] V původním návrhu ENIACu byl tok programu řízen přepojováním kabelů z jedné jednotky do jiné. Aby se tok programu v určitém bodě zastavil, bylo potřeba kabel odstranit. Tento bod byl nazýván breakpoint.[2]
Nejčastější forma přerušení programu je taková, kde je program zastaven na programátorem předem stanovené strojové instrukci. Označuje se jako zastavení na instrukci (anglicky instruction breakpoint). Někdy se pro zastavení vykonávání programu používají podmínky, které jsou vázány na čtení nebo zápis do určitého místa v operační paměti, které označujeme jako podmíněné zastavení (anglicky conditional breakpoint), data breakpoint, nebo watchpoint. Breakpointy mohou být také použity k přerušení v určitém čase, nebo při stisku klávesy atd.
Mnoho procesorů obsahuje pro breakpointy hardwarovou podporu (typicky přímo v procesoru pro přerušení na instrukci nebo na data). Například instrukční sada architektury x86 poskytuje hardwarovou podporu breakpointů pomocí ladících registrů. Hardwarová podpora může obsahovat určitá omezení, například nepovolí zarážky na instrukcích nacházejících se ve větvích zpoždění (branch delay slot) při proudovém zpracování. Tento druh omezení je dán mikroarchitekturou daného procesoru.
Pokud není k dispozici hardwarová podpora, musí debugger realizovat breakpoint softwarově. Pro zastavení na dané instrukci se jednoduše nahrazuje strojová instrukce v místě breakpointu jinou strojovou instrukcí, která může být:
Další řešení:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.