ДТраце на Виндовс-у добија своја ажурирања 20Х1 са подршком за АРМ64
ДТраце је популаран алат за отклањање грешака и дијагностику отвореног кода. Првобитно је направљен за Соларис, а постао је доступан за Линук, ФрееБСД, НетБСД и мацОС. Мицрософт га је пренео на Виндовс и додаје му део ажурирања са ажурирањем функције 20Х1.
Реклама
ДТраце је динамички оквир за праћење који омогућава администратору или програмеру да у реалном времену погледа систем у корисничком или кернел режиму. ДТраце има висок ниво и моћан програмски језик у Ц стилу који вам омогућава да динамички убацујете тачке праћења. Користећи ове динамички уметнуте тачке праћења, можете да филтрирате услове или грешке, пишете код за анализу образаца закључавања, откривате застоје итд.
У оперативном систему Виндовс, ДТраце проширује праћење догађаја за Виндовс (ЕТВ) које је статично и не пружа могућност програмског уметања тачака праћења током извршавања.
Сви АПИ-ји и функционалности које користи дтраце.сис су документовани позиви.
Мицрософт је имплементирао посебан драјвер за Виндовс 10 који омогућава обављање низа улога за надгледање система. Драјвер је уграђен у Виндовс 10 почевши од верзије 1903.
Почевши од Виндовс 10 инсајдерске верзије 19041.21, ДТраце долази са следећим побољшањима.
АРМ64 преглед
Да то је тачно! ДТраце сада подржава АРМ64 у режиму прегледа. АРМ64 МСИ је доступан на горе наведеној вези за преузимање.
Можете га користити на свом Сурфаце Про Кс покреће најновију верзију Виндовс 10 Инсидер Превиев (20Х1), почевши од 19041.21.
ДТраце на Сурфаце Про Кс
Кориснички режим Стацквалк
У прегледу, могућност стацквалк-а у ДТраце-у је била ограничена на режим кернела (стек). Ово ажурирање додаје подршку за стацквалк у корисничком режиму (устацк). Као и стек, устацк је потпуно компатибилан са ДТраце спецификацијом отвореног кода. Може се позвати на три начина навођењем оквира (дубине) и величине (за сада игнорисано) или празнине.
- Устацк (нфрамес, величина)
- Устацк (нфрамес)
- Устацк()
Док устацк () може одредити адресу позивајућег оквира када се сонда активира, оквири стека ће неће бити преведена у симболе све док ДТраце потрошач не обради акцију устацк () у корисничком режиму. Преузимање симбола може успорити излаз. Стога је боље користити овај објекат са локално кешираним симболима као што је доле.
дтраце -н "профил-1мс /арг1/ {устацк (50, 0); излаз (0);} " -и Ц:\симболс. дтраце: опис 'профил-1мс' одговара 1 проби. ФУНКЦИЈА ИД ЦПУ-а: ИМЕ 0 3802 :профиле-1мс нтдлл`ЗвАллоцатеВиртуалМемори+0к14 нтдлл`РтлАллоцатеХеап+0к3дед нтдлл`РтлАллоцатеХеап+0к763 уцртбасе`маллоц44
Подршка за думп уживо
Виндовс обично користи нешто што се зове Жива депонија како би се брзо дијагностиковали проблеми. Думпови уживо помажу у решавању проблема који укључују више процеса или проблеме широм система без застоја. У 20Х1, ДТраце на Виндовс-у се може користити за снимање депоније уживо из Д-скрипте користећи лкд() ДТраце објекат. Уобичајени случај употребе ове могућности је инструментирање путање грешке (као што је повратни код указује на грешку) и снимање депоније уживо на месту грешке ради напредне дијагностике. За више информација о ливе думп подршци, погледајте ДТраце Ливе Думп.
дтраце -вн "сисцаллретурн { иф (арг0 != 0кц0000001УЛ) { лкд (0); принтф(\" Покретање ливе думп \н \");екит (0); }}" дтраце: опис 'сисцаллретурн' одговара 1411 сонди. дтраце: омогућава деструктивне радње. ФУНКЦИЈА ИД ЦПУ-а: ИМЕ 0 181 НтДевицеИоЦонтролФиле: ретурн Покретање Живог думп директоријума ц:\Виндовс\ЛивеКернелРепортс Волумен на диску Ц нема ознаку. Серијски број свеске је 70Ф4-Б9Ф6 Директоријум ц:\Виндовс\ЛивеКернелРепортс 05.11.2019. 17:20<ДИР>. 05.11.2019 17:20 <ДИР>.. 05.11.2019 17:19 <ДИР> ДТРАЦЕ. 05.11.2019. 17:20 53.395.456 ДТРАЦЕ-20191105-1720.дмп.
ЕТВ Трацинг
ЕТВ трацинг је најчешће коришћени алат за отклањање грешака у Виндовс-у. У ДТраце на Виндовс 19Х1 прегледу, додали смо подршку за инструментирање праћених и манифестованих догађаја користећи ЕТВ провајдер.
У 20Х1, додатно смо побољшали ову могућност да креирамо нове ЕТВ догађаје у ходу из Д-скрипте користећи ЕТВ_Траце() објекат. Ово помаже у ситуацијама када су постојећи ЕТВ догађаји недовољни и желите да додате додатне тачке праћења ЕТВ без модификације производног кода.
За више информација о ЕТВ_Траце објекат и ЕТВ провајдер, види ДТраце ЕТВ.
/* Покретање узорка добављача ГитХуб ЕТВ (линк испод) за штампање догађаја информација о меморији чвора. https://github.com/microsoft/DTrace-on-Windows/blob/master/samples/windows/etw/numamemstats.d. */ дтраце -кс нумамемстатс.д ИД партиције: 0. Број: 1. Број чвора: 1. м_нодеинфо { уинт64_т ТоталПагеЦоунт = 0к1фб558 уинт64_т СмаллФрееПагеЦоунт = 0к41 уинт64_т СмаллЗероПагеЦоунт = 0 уинт64_т МедиумФрееПагеЦоунт = 0 уинт64_т МедиумЗероПагеЦоунт = 0 уинт64_т ЛаргеФрееПагеЦоунт = 0 уинт64_т ЛаргеЗероПагеЦоунт = 0 уинт64_т ХугеФрееПагеЦоунт = 0 уинт64_т ХугеЗероПагеЦоунт = 0. }
Ако сте заинтересовани да инсталирате ДТраце, погледајте како се то може урадити овде.
Можете преузети ажурирани ДТраце МСИ пакет одавде.
Овде је изворни код и напредне скрипте.
Извор