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 KD és a kernel módú WinDbg támogatja a processzorok több hibakeresését. Ezt a hibakeresést bármely többprocesszoros platformon elvégezheti.
A processzorok száma nulla és n között van.
Ha a jelenlegi processzor a 0-ás processzor (vagyis ha az a processzor, amely jelenleg a hibakeresőt aktiválta), megvizsgálhatja a többi nem aktuális processzort (az 1-estől n-ig tartozó processzorokat). A nem aktuális processzorokban azonban semmit sem módosíthat. Csak az állapotukat tekintheti meg.
Processzor kiválasztása
Az .echocpunum (CPU-szám megjelenítése) paranccsal megjelenítheti az aktuális processzor processzorszámait. A parancs kimenete lehetővé teszi, hogy azonnal jelezhesse, ha több processzorrendszeren dolgozik a kernel hibakeresési parancssorában található szöveg alapján.
A következő példában 0: a kd> parancssor előtt azt jelzi, hogy a számítógép első processzorát hibakereséssel kezdjük.
0: kd>
A ~s (Change Current Processor) paranccsal válthat a processzorok között az alábbi példában látható módon.
0: kd> ~1s
1: kd>
Most hibakeresést végzett a számítógép második processzorán.
Előfordulhat, hogy többprocesszoros rendszeren módosítania kell a processzorokat, ha szünetet tapasztal, és nem érti a verem nyomkövetését. Előfordulhat, hogy a törés egy másik processzoron történt.
Processzorok megadása más parancsokban
Több parancs előtt hozzáadhat egy processzorszámot. Ezt a számot nem előzi meg egy tilde (~), kivéve a ~S parancsot.
Jegyzet Felhasználói módban történő hibakeresés esetén a tilde a szálak megadására szolgál. A szintaxissal kapcsolatos további információkért lásd: Thread szintaxis.
A processzorazonosítókra nem kell explicit módon hivatkozni. Ehelyett használhat olyan numerikus kifejezést, amely egy processzorazonosítónak megfelelő egész számra oldható fel. Annak jelzéséhez, hogy a kifejezést feldolgozóként kell értelmezni, használja az alábbi szintaxist.
||[Expression]
Ebben a szintaxisban a szögletes zárójelek megadása kötelező, a Kifejezés pedig minden olyan numerikus kifejezés, amely egy processzorazonosítónak megfelelő egész számra van feloldva.
Az alábbi példában a processzor a felhasználó által definiált pszeudoregisztráló értékétől függően változik.
||[@$t0]
példák
Az alábbi példa a k (Display Stack Backtrace) paranccsal jelenít meg egy veremkövetést a második processzorból.
1: kd> 2k
Az alábbi példa az r (Registers) paranccsal jeleníti meg a harmadik processzor eax-nyilvántartását .
1: kd> 3r eax
A következő parancs azonban szintaxishibát ad, mivel az aktuális processzortól eltérő processzor állapota nem módosítható.
1: kd> 3r eax=808080
Töréspontok
A kernel hibakeresése során a bp, bu, bm (Set Breakpoint) és ba (Break on Access) parancsok egy több processzoros számítógép összes processzorára érvényesek.
Ha például az aktuális processzor három, a következő paranccsal töréspontot helyezhet el a SomeAddressben.
1: kd> bp SomeAddress
Ezután bármely processzor (nem csak az 1-es processzor), amely azon a címen hajt végre, töréspont-csapdát okoz.
Processzoradatok megjelenítése
A !running kiterjesztéssel megjelenítheti az egyes processzorok állapotát a célszámítógépen. A !running minden processzor esetében megjeleníti a folyamatvezérlő blokk (PRCB) aktuális és következő szálmezőit, a 16 beépített várólistás spinlock állapotát és a verem nyomkövetését is.
A !cpuinfo és a !cpuid bővítményekkel megjelenítheti a processzorokra vonatkozó információkat.