Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A hibakeresés során manuálisan is áthelyezheti a végrehajtási mutatót a következő futtatási utasítás módosításához. Az egérmutató áthelyezése olyan helyzetekben hasznos, mint egy ismert hibát tartalmazó kód kihagyása, és a hibakereső fejlettebb funkciója.
A végrehajtási folyamat módosítása
Ha a hibakereső szüneteltetve van, a forráskód vagy a Szétbontás ablak margóján egy sárga nyíl jelzi a következő futtatás helyét. A nyíl mozgatásával módosíthatja a következő, futtatható utasítást. Átugorhatja a kódot, vagy visszatérhet egy előző sorba.
Ha módosítani szeretné a következő futtatandó utasítást, a hibakeresőnek törés módban kell lennie. A forráskódban vagy a Szétszerelés ablakban húzza a sárga nyilat egy másik vonalra, vagy kattintson a jobb gombbal a következő futtatni kívánt vonalra, és válassza a Következő utasítás beállítása lehetőséget.
A programszámláló közvetlenül az új helyre ugrik. A régi és az új végrehajtási pontok közötti utasítások nem futnak. Ha azonban a végrehajtási pontot visszafelé helyezi át, a beavatkozó utasítások nem lesznek visszavonva.
Caution
- A következő utasítás áthelyezése egy másik függvénybe vagy hatókörbe általában hívásverem sérülését okozza, ami futásidejű hibát vagy kivételt okoz. Ha megpróbálja áthelyezni a következő utasítást egy másik hatókörbe, a hibakereső figyelmeztetést ad, és lehetőséget ad a művelet megszakítására.
- A Visual Basicben nem helyezheti át a következő utasítást egy másik hatókörbe vagy függvénybe.
- Natív C++-ban, ha engedélyezve van a futtatókörnyezet-ellenőrzés, a következő utasítás beállítása kivételt okozhat, amikor a végrehajtás eléri a metódus végét.
- Ha a Szerkesztés és a Folytatás engedélyezve van, a Következő utasítás beállítása meghiúsul, ha olyan módosításokat végzett, amelyeket a Szerkesztés és a Folytatás nem tud azonnal újraképezni. Ez a helyzet például akkor fordulhat elő, ha kódot szerkesztett egy catch blokkban. Ha ez történik, hibaüzenet jelzi, hogy a művelet nem támogatott.
- A felügyelt kódban nem helyezheti át a következő utasítást, ha:
- A következő utasítás az aktuális utasítástól eltérő metódusban van.
- A hibakeresést a Just-In-Time indította el.
- A hívásverem visszafejtése folyamatban van.
- A rendszer egy System.StackOverflowException vagy System.Threading.ThreadAbortException kivételt adott ki.