Nyelv

Pseudovariables a Visual Studio hibakeresőjében

A pszeudovariánsok olyan kifejezések, amelyek bizonyos információkat jelenítenek meg egy változóablakban vagy a Gyorsóra párbeszédpanelen. A pszeudovariánsokat ugyanúgy adhatja meg, mint egy normál változót. A pszeudovariálhatóak azonban nem változók, és nem felelnek meg a program változóneveinek.

Example

Tegyük fel, hogy natív kódalkalmazást ír, és látni szeretné az alkalmazásban lefoglalt leírók számát. A Figyelő ablakban a Név oszlopban a következő pszeudovariánst adhatja meg, majd nyomja le a Return billentyűt a kiértékeléséhez:

$handles

Natív kódban használhatja a következő táblázatban látható pszeudovariableseket:

Pszeudovariálható Funkció
$err Megjeleníti a SetLastError függvénnyel beállított utolsó hibakódot. A megjelenített érték azt jelöli, amit a GetLastError függvény visszaadna.

Az érték dekódolt formájának megtekintésére használható $err,hr . Ha például az utolsó hiba 3 volt, akkor a $err,hr megjelenítené a ERROR_PATH_NOT_FOUND : The system cannot find the path specified..
$handles Megjeleníti az alkalmazásban lefoglalt leírók számát.
$vframe Az aktuális veremkeret címét jeleníti meg.
$tid Megjeleníti az aktuális szál szálazonosítóját.
$env Megjeleníti a környezetblokkot a sztringmegjelenítőben.
$cmdline Megjeleníti a programot elindító parancssori sztringet.
$pid Megjeleníti a folyamatazonosítót.
$ registername

vagy

@ registername
Megjeleníti a regiszternév tartalmát.

A regiszter tartalmát általában csak a regisztrációs név megadásával jelenítheti meg. Ezt a szintaxist csak akkor kell használnia, ha a regiszternév túlterhel egy változónevet. Ha a regiszter neve megegyezik az aktuális hatókörben lévő változó nevével, a hibakereső változónévként értelmezi a nevet. Ekkor $ jön jól a regiszternév vagy @ a regiszternév.
$clk Megjeleníti az időt óraciklusokban.
$user Megjeleníti az alkalmazást futtató fiók fiókadatait tartalmazó struktúrát. Biztonsági okokból a jelszóadatok nem jelennek meg.
$exceptionstack Megjeleníti az aktuális Windows-futtatókörnyezeti kivétel veremkövetését. $ exceptionstack csak UWP-alkalmazásokban működik. $ exceptionstack C++ és SEH kivételek esetén nem támogatott
$returnvalue Egy metódus visszatérési értékét jeleníti meg.

A C#-ban használhatja az alábbi táblázatban látható pszeudovariableseket:

Pszeudovariálható Funkció
$exception Az utolsó kivétel adatait jeleníti meg. Ha nem történt kivétel, a kiértékelés $exception hibaüzenetet jelenít meg.

Ha a Kivételsegédet letiltották, $exception automatikusan hozzáadódik a Helyiek ablakhoz, amikor kivétel történik.
$user Megjeleníti az alkalmazást futtató fiók fiókadatait tartalmazó struktúrát. Biztonsági okokból a jelszóadatok nem jelennek meg.
$returnvalue Egy .NET-metódus visszatérési értékét jeleníti meg.
$threadSmallObjectHeapBytes Megjeleníti az aktuális szál által a kis objektum halomba foglalt bájtok teljes számát. (.NET 6+)
$threadUserOldHeapBytes Megjeleníti az aktuális szál által a felhasználói memória halmazában lefoglalt bájtok teljes számát. User Old Heap = Large Object Heap + Pinned Object Heap (.NET 6+)

A Visual Basicben az alábbi táblázatban látható álvariánsokat használhatja:

Pszeudovariálható Funkció
$exception Az utolsó kivétel adatait jeleníti meg. Ha nem történt kivétel, a kiértékelés $exception hibaüzenetet jelenít meg.
$delete vagy $$delete Törli az Azonnali ablakban létrehozott implicit változót. A szintaxis $delete,változó vagy$delete,változó.
$objectids vagy $listobjectids Megjeleníti az összes aktív objektumazonosítót a megadott kifejezés gyermekeiként. A szintaxis $objectid,kifejezés vagy $listobjectids,kifejezés.
$ N# N-vel egyenlő objektumazonosítóval rendelkező objektumot jelenít meg.
$dynamic Megjeleníti a speciális Dinamikus nézet csomópontot egy objektumhoz, amely implementálja a IDynamicMetaObjectProvider. Interfész. A szintaxis $dynamic,. Ez a funkció csak a .NET-keretrendszer 4-es vagy újabb verzióját használó kódra vonatkozik.