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ő motor bemeneti és kimeneti adatfolyamainak áttekintéséért lásd: Bemenet és kimenet.
Bemenet
A motor minden ügyféltől kér bemenetet, ha a bemeneti metódust meghívják egy ügyfélen. A bemenet vissza lesz adva a Bemenet hívójának.
Bemeneti visszahívások
Amikor a motor bemenetet kér egy ügyféltől, az az adott ügyfélhez regisztrált IDebugInputCallbacks objektumot használja. Az IDebugInputCallbacks objektum regisztrálható egy ügyfélen a SetInputCallbacks használatával. Minden ügyfél legfeljebb egy IDebugInputCallbacks objektummal rendelkezhet.
A bemeneti kérelem az IDebugInputCallbacks::StartInput metódus meghívásával kezdődik. Ez tájékoztatja az IDebugInputCallbacks objektumot, hogy a motor most a bemenetre vár.
Ha az IDebugInputCallbacks objektum valamilyen bemenettel rendelkezik a motorhoz, meghívhatja bármely ügyfél ReturnInput metódusát. A ReturnInput metódus meghívása után a motor nem fog több bemenetet használni. A metódus későbbi hívói értesítést kapnak arról, hogy a bemenet nem érkezett meg.
A motor ezután meghívja az IDebugInputCallbacks::EndInput parancsot, hogy jelezze, hogy leállt a bemenetre való várakozás.
Végül a motor ezt a bemenetet minden ügyfél regisztrált IDebugOutputCallbacks objektumának továbbítja (kivéve azt, amelyiket a bemenet megadásához használták), az IDebugOutputCallbacks::Output metódust használva a DEBUG_OUTPUT_PROMPT értékre beállított bitmaszkkal.
Kimenet
A kimenet több ügyfélmetely használatával is elküldhető a motornak – például Output és OutputVaList. A kimenet fogadása után a motor elküldi azt néhány ügyfélnek.
Az ügyfelek kimeneti maszk használatával jelzik, hogy milyen típusú kimenetek érdeklik őket. Amikor a motor kimenetet állít elő, azt egy maszk kíséri, amely megadja a kimenet típusát. Ha a kimenet típusa megfelel az ügyfél kimeneti maszkjának, az ügyfél megkapja a kimenetet. A kimeneti maszk beállítása a SetOutputMask meghívásával lehetséges, és lekérdezhető a GetOutputMask használatával. A kimeneti maszk értékeinek részleteiért lásd a DEBUG_OUTPUT_XXX .
A motor által a kimenetet küldő ügyfelek listáját a kimeneti vezérlő vezérli. A kimeneti vezérlő általában úgy van beállítva, hogy kimenetet küldjön az összes ügyfélnek; azonban ideiglenesen módosítható a ControlledOutput és a ControlledOutputVaList használatával. A kimenet-vezérlési értékekkel kapcsolatos részletekért lásd a DEBUG_OUTCTL_XXX .
A kimenetet a motor pufferelheti. Ha több kimenetet ad át a motornak, összegyűjtheti és elküldheti őket az ügyfeleknek egy nagy darabban. A puffer kiürítéséhez használja a FlushCallbacks parancsot.
Minden ügyfélobjektum kimeneti szélessége az ügyfélobjektum kimeneti megjelenítésének szélessége. Bár ezt a szélességet csak tippként használják, egyes parancsok és bővítményfüggvények ennek a szélességnek megfelelően formázják a kimenetüket. A szélességet a GetOutputWidth metódus adja vissza, és a SetOutputWidth metódussal állítható be.
Kimeneti visszahívások
Amikor a motor kimenetet küld egy ügyfélnek, az ügyfélnél regisztrált IDebugOutputCallbacks objektumot használja. Egy IDebugOutputCallbacks objektum regisztrálható egy ügyféllel a SetOutputCallbacks használatával. Minden ügyfél legfeljebb egy IDebugInputCallbacks objektummal rendelkezhet.
A kimenet elküldéséhez a motor meghívja az IDebugOutputCallbacks::Output metódust .
Kimeneti sor előtagja
Minden ügyfélobjektumnak van egy kimeneti sor előtagja, amely hozzáadódik az ügyfélobjektumhoz társított kimeneti visszahívásnak küldött minden kimeneti sor elé. Ez használható behúzáshoz vagy azonosító jelek elhelyezéséhez minden kimeneti sorban.
A kimenetisor-előtagot a GetOutputLinePrefix adja vissza, és a SetOutputLinePrefix használatával állítható be. A kimeneti sor előtagjának ideiglenes módosításához és későbbi visszaállításához használja a PushOutputLinePrefix és a PopOutputLinePrefix parancsot.
Naplófájlok
A hibakereső motor támogatja a naplófájl megnyitását a hibakeresési munkamenet rögzítéséhez. Egy naplófájl legfeljebb egyszerre nyitható meg. A kimeneti visszahívásoknak küldött kimenet is ebbe a naplófájlba kerül (kivéve, ha a rendszer nem naplózza).
Naplófájl megnyitásához használja az OpenLogFile2 (vagy OpenLogFile) fájlt. A GetLogFile2 (vagy GetLogFile) metódus az aktuálisan megnyitott naplófájlt adja vissza. A naplófájl bezárásához használja a CloseLogFile fájlt.
A SetLogMask metódus a naplófájlba küldött kimenet szűrésére használható, a GetLogMask pedig az aktuális naplófájlszűrőt adja vissza.
Felszólítás
Interaktív hibakeresési munkamenetben egy parancssor segítségével jelezheti a felhasználónak, hogy a hibakereső felhasználói bemenetre vár. A rendszer az OutputPrompt és az OutputPromptVaList metódussal küldi el a kérést a kimeneti visszahívásoknak. A getPromptText visszaadja a szabványos kérés tartalmát.