Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur WinDbg stöder linux-standardsymboler och -källor. Stöd för felsökning i Linux kräver WinDbg version 1.2402.24001.0 eller senare.
DebugInfoD-symbolservrar
Windows-felsökningsprogrammet använder debugInfoD-standarden för automatisk nedladdning av byggartefakter för Linux. Jämförelsevis är DebugInfoD en kombination av Microsofts symbolserver och källservertekniker. Den tillåter automatisk nedladdning av tre artefakttyper (körbara filer (ELF), felsökningsinformation (DWARF) och källkod (kod) baserat på build-id. Olika distributioner av Linux är nu värdar för sina egna DebugInfoD-servrar som tillhandahåller några av artefakttyperna. De olika DebugInfoD-servrarna visas i ELFUTILS https://debuginfod.elfutils.org.
Allmän information om DebugInfoD finns här:
Taggen DebugInfoD* kan peka på en eller flera DebugInfoD-servrar med varje server-URL formaterad som https://domain.com och avgränsad med *. Servrarna genomsöks i samma ordning som i källsökvägen och filerna hämtas från den första matchande URL:en.
Du kan till exempel ange symbolsökvägen så här.
.sympath+ DebugInfoD*https://debuginfod.elfutils.org
Använd kommandot !sym noisy för att visa information om symbolinläsning. Mer information finns i !sym.
Kommandot source path (.srcpath, .lsrcpath (Set Source Path)) stöder filhämtning från DebugInfoD-servrar via taggen DebugInfoD*, vilket möjliggör hämtning av källkodsartefakter. Du kan till exempel ange källsökvägen, så här.
.srcpath+ DebugInfoD*https://debuginfod.elfutils.org
För mer information, se Källkodens utökade åtkomst.
DWARF-symboler
DWARF är ett vanligt standardiserat felsökningsdataformat. DWARF designades ursprungligen tillsammans med körbart och länkbart format (ELF), även om det är oberoende av objektfilformat. Mer information finns i https://en.wikipedia.org/wiki/DWARF och för standardversion 5, se DWARF Version 5.
Använd kommandot object dump för att fastställa dvärgsymbolversionen. I det här exemplet version 5.
bob@BOB:/mnt/c/Users/BOB$ objdump -g DisplayGreeting | grep -A 2 'Compilation Unit @'
Compilation Unit @ offset 0x0:
Length: 0x285c (32-bit)
Version: 5
WinDbg DWARF-stöd
WinDbg stöder följande användning av DWARF och ELF.
Linux-användarläge – Öppna Linux ELF Core Dumps (
-z <core dump>) och göra felsökning och analys efter döden med fullständiga privata DWARF-symboler.Linux Kernel Mode – Öppning av Linux-kärndumpar (ELF VMCORE) och utförande av efterkoll och analys med fullständiga privata DWARF-symboler.
Linux Kernel Mode – Öppna Linux Kernel-komprimerade KDUMP-filer och utföra felsökning och efteranalys med fullständiga privata DWARF-symboler (WinDbg stöder endast ZLIB-komprimerade KDUMP-filer. LZO- och Snappy-komprimerade KDUMP-filer stöds inte.)
Öppna ELF-avbildningar (
-z <ELF image>) och undersöka innehåll, demontera osv.Andra scenarier – Förstå ELF-avbildningar och DVÄRG-symboler i blandade PE/ELF-miljöer (t.ex. felsökning av Open Enclave-komponenter som läses in i Windows. Mer information finns i Open Enclave-felsökning.)
Stöd för WinDbg GDBServer Linux
GNU Debugger, GDBServer används i Linux för att stödja WinDbg-anslutningen. Mer information om GDBServer finns i https://en.wikipedia.org/wiki/Gdbserver. En plats där du kan visa dokumentationen för gdb-fjärrfelsökning finns här – https://sourceware.org/gdb/current/onlinedocs/gdb#Remote-Debugging
Mer information om hur du använder GDBServer med WinDbg och en kodgenomgång finns i fjärrprocessfelsökning i Linux live. Exemplen här använder Ubuntu som körs under Windows-undersystemet för Linux (WSL), men andra Linux-implementeringar kan också användas.
DWARF-implementering
DVÄRG-symboler stöds inbäddade i den ursprungliga avbildningen (en felsökningsbinär) eller separeras till en separat ELF-avbildning (ett felsökningspaket).
För att Linux DWARF-stacken ska lyckas måste den ursprungliga binäravbilden för vilken modul som helst som läses in i Linux-processen kunna hittas.
DWARF-symboler/ELF-bilder (avskalade eller inte) kan hittas via felsökarens sökväg eller symbolservern (indexerad enligt .NET Core via GNU Build ID-hash).
DVÄRG-symboler kan hittas via en installation av felsökningspaket i Linux-stil. Detta anges av en katalog med namnet .build-id i symbolsökvägen. Under detta finns kataloger namngivna utifrån den första byten i GNU Build ID Hash. Under varje sådan katalog finns en fil med namnet <remaining 18 bytes of GNU Build ID hash>.debug.
När felsökningsprogrammet öppnar DWARF-symboler utför det ett första indexeringssteg eftersom själva formatet inte innehåller nödvändiga uppslagstabeller. För stora uppsättningar dvärgsymboler (t.ex. privat DVÄRG-information för Linux-kerneln) kan det ta 10–30 sekunder.
!addsourcemap för automatisk källhämtning från känt repo/commit
Om du felsöker komponenter som skapats från en känd lagringsplats och incheckning finns det ett tillägg, !addsourcemap, med felsökningskommandot kan du berätta för felsökaren att för en viss modul och sökväg vill du automatiskt hämta källor från en känd URL. Användningen av tillägget är:
!addsourcemap <module> <local spec> <remote spec>
Var:
<module> är namnet på modulen av intresse.
<local spec> är sökvägen till källor i modulen som kommer att letas upp via en URL. Den här sökvägen bör sluta med ett jokertecken.
<remote spec> är url:en där filer som matchar <local spec> ska letas upp. Den här sökvägen bör sluta med ett jokertecken som ersätts med hur jokertecknet i <local spec> matchar en viss källsökväg.
Om du vill ange källkartan kontrollerar du att modulen finns med hjälp av lm (Lista inlästa moduler). Bestäm sedan källans fjärrplats.
Det här exemplet anger vmlinux-modulen till en specifik version som är tillgänglig på GitHub.
0:000> !addsourcemap vmlinux /build/linux/* https://raw.githubusercontent.com/torvalds/linux/6e61dde82e8bfe65e8ebbe43da45e615bc529236/
Source map /build/linux/* -> https://raw.githubusercontent.com/torvalds/linux/6e61dde82e8bfe65e8ebbe43da45e615bc529236/ successfully added
När kommandot sourcemap har utfärdats utlöser ett antal saker en källbelastning, till exempel att växla bildrutor fram och tillbaka eller ladda om med kommandot .reload. Därefter sker en automatisk källhämtning från GitHub.
!sourcemaps
Använd kommandot !sourcemaps för att visa en lista över befintliga källkartor.
0:000> !sourcemaps
Source maps for vmlinux.6:
/build/linux/* -> https://raw.githubusercontent.com/torvalds/linux/6e61dde82e8bfe65e8ebbe43da45e615bc529236/
!removesourcemaps
Använd kommandot !removesourcemaps för att ta bort en befintlig källkarta.
0:000> !removesourcemaps vmlinux /build/linux/* https://raw.githubusercontent.com/torvalds/linux/6e61dde82e8bfe65e8ebbe43da45e615bc529236/
1 source maps successfully removed
Felsöka DWARF-symboler
Om du felsöker Linux-/Android-dumpar (eller andra mål som använder DVÄRG-symboler) kanske du vill titta på det råa innehållet i symboler för att förstå varför lokala variabler, typdefinitioner eller funktionsdefinitioner är felaktiga. För att göra detta har felsökningsprogrammet några inbyggda tilläggskommandon för att dumpa råinnehållet i DWARF-symboler. Använd även Linux-verktyg som readelf och dumpdwarf för att visa information om symbolens interna funktioner.
readelf-kommando
Använd kommandot readelf i Linux-kommandotolken för att visa felsökningsversions-ID:t som skapades för exempelprogrammet DisplayGreeting som skapades i Fjärrprocessfelsökning i Linux live. I det här exemplet returneras ett bygg-ID för aba822dd158b997b09903d4165f3dbfd37f5e5c1.
Bob@BOB6:/mnt/c/Users/Bob$ readelf -n DisplayGreeting
Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT, SHSTK
x86 ISA needed: x86-64-baseline
Displaying notes found in: .note.gnu.build-id
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: aba822dd158b997b09903d4165f3dbfd37f5e5c1
Displaying notes found in: .note.ABI-tag
Owner Data size Description
GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
OS: Linux, ABI: 3.2.0
Readelf kan användas tillsammans med grep för att visa symbolversionen.
readelf --debug-dump=info DisplayGreeting | grep -A 2 'Compilation Unit @'
Compilation Unit @ offset 0x0:
Length: 0x285c (32-bit)
Version: 5
dvärgdump
Linux-kommandot dwarfdump skriver ut eller kontrollerar DWARF-avsnitt enligt specifika alternativ. Använd dwarfdump -h för att visa de många alternativen.
bob@BOB6:/mnt/c/Users/BOB$ dwarfdump -h
Mer information om hur du använder dwarfdump på Ubuntu finns i dwarfdump .
!diesym
Det här felsökningskommandot visar DIE (eller DIE-underträdet) för den symbol som finns i det angivna uttrycket (kan vara en adress, ett funktionsnamn osv.) med en valfri angiven rekursionsnivå. Den hittar DIE för symbolen (oftast en funktion, men det kan även vara data osv.) som finns på en specifik adress och utför en diagnostisk dump av DIE på ett sätt som liknar att köra verktygen dwarfdump eller llvm-dwarfdump på symbolerna för att hitta DIE.
!diesym [options] <expression>
-r# : dumpa N nivåer rekursivt. Normalt sett är detta en enda, och endast själva DIE dumpas.
<expression> – Adressen för att hitta DIE ges av ett uttryck. Det kan vara en platt hexadress (0x<blah>) eller ett i övrigt unikt funktionsnamn.
Den måste utvärderas av datamodellens standardutvärdering. Använd dx-kommandot för att verifiera att modelluttrycket. Mer information om hur du använder dx-kommandot finns i dx (Visa objektmodelluttryck för felsökningsprogram).
0:000> dx DisplayGreeting!GetCppConGreeting
DisplayGreeting!GetCppConGreeting : DisplayGreeting!GetCppConGreeting+0x0 [Type: GetCppConGreeting]
Visa DIE-symbolinformation för exempelprogrammet DisplayGreeting, funktionen GetCppConGreeting.
0:000> !diesym DisplayGreeting!GetCppConGreeting
0x2816: DW_TAG_subprogram [^^^]
DW_AT_external (true)
DW_AT_name 'GetCppConGreeting'
DW_AT_decl_file 1 ('/mnt/c/Users/BOB/DisplayGreeting.cpp')
DW_AT_decl_line 0x7
DW_AT_decl_column 0x6
DW_AT_linkage_name '_Z17GetCppConGreetingPwm'
DW_AT_low_pc 0x11E9
DW_AT_high_pc +0x3c (== 0x1225)
DW_AT_frame_base DW_OP_call_frame_cfa
DW_AT_call_all_tail_calls (true)
Använd alternativet -r2 för att visa ytterligare en nivå av DIE-symbolinformation.
0:000> !diesym -r2 DisplayGreeting!GetCppConGreeting
0x2816: DW_TAG_subprogram [^^^]
DW_AT_external (true)
DW_AT_name 'GetCppConGreeting'
DW_AT_decl_file 1 ('/mnt/c/Users/BOB/DisplayGreeting.cpp')
DW_AT_decl_line 0x7
DW_AT_decl_column 0x6
DW_AT_linkage_name '_Z17GetCppConGreetingPwm'
DW_AT_low_pc 0x11E9
DW_AT_high_pc +0x3c (== 0x1225)
DW_AT_frame_base DW_OP_call_frame_cfa
DW_AT_call_all_tail_calls (true)
0x2834: DW_TAG_formal_parameter [^^^]
DW_AT_name 'buffer'
DW_AT_decl_file 1 ('/mnt/c/Users/BOB/DisplayGreeting.cpp')
DW_AT_decl_line 0x7
DW_AT_decl_column 0x21
DW_AT_type (CU + 0x12f7 == 0x12f7)
DW_AT_location DW_OP_fbreg(-40)
!dö
!die visar DIE (eller DIE-underträd) för vilken DIE som helst vid det angivna offsetuttrycket i DWARF-sektionen för felsökning med en eventuellt angiven rekursionsnivå.
!die [-r#] [-t] -m <module base expression> <offset expression>
-r# : dumpa N nivåer rekursivt.
-t : Om DIE är inom en typenhet i .debug_types i stället för en kompileringsenhet inom .debug_info måste du ange växeln -t.
Ange en -m <module base expression> som ger basadressen för den modul som du frågar efter.
<offset expression> är storleken på DIE-förskjutningen.
På Linux-kommandoraden använder du dwarfdump med -r för att skriva ut avsnittet .debug_aranges i DWARF-filen för att hitta DIE-offset.
bob@BOB6:/mnt/c/Users/BOB$ dwarfdump -r DisplayGreeting
.debug_aranges
COMPILE_UNIT<header overall offset = 0x00000000>:
< 0><0x0000000c> DW_TAG_compile_unit
DW_AT_producer GNU C++17 11.4.0 -mtune=generic -march=x86-64 -g -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection
DW_AT_language DW_LANG_C_plus_plus_14
DW_AT_name DisplayGreeting.cpp
DW_AT_comp_dir /mnt/c/Users/BOB
DW_AT_ranges 0x0000000c
Offset of rnglists entries: 0x0000000c
[ 0] start,end 0x000011e9 0x0000134a
[ 1] start,end 0x0000134a 0x00001368
[ 2] start,end 0x00001368 0x0000137b
[ 3] start,end 0x0000137b 0x0000138d
[ 4] end of list
DW_AT_low_pc 0x00000000
DW_AT_stmt_list 0x00000000
arange starts at 0x000011e9, length of 0x00000161, cu_die_offset = 0x0000000c
arange starts at 0x0000134a, length of 0x0000001e, cu_die_offset = 0x0000000c
arange starts at 0x00001368, length of 0x00000013, cu_die_offset = 0x0000000c
arange starts at 0x0000137b, length of 0x00000012, cu_die_offset = 0x0000000c
Observera DW_AT_ranges värdet för 0x0000000c. I felsökningsprogrammet använder du det förskjutningsvärdet och modulnamnet DisplayGreeting för att visa information om DIE-symbolen.
0:000> !die -m DisplayGreeting 0x0000000c
0xc: DW_TAG_compile_unit [^^^]
DW_AT_producer 'GNU C++17 11.4.0 -mtune=generic -march=x86-64 -g -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection'
DW_AT_language 0x21
DW_AT_name
DW_AT_comp_dir
DW_AT_ranges
[0x11e9 - 0x134a)
[0x134a - 0x1368)
[0x1368 - 0x137b)
[0x137b - 0x138d)
DW_AT_low_pc 0x0
DW_AT_stmt_list
!dieancestry
Kommandot !dieancestry fungerar ungefär som !die förutom att det går upp i DIE-trädet mot den innehållande kompilerings- eller typenheten i stället för nedåt i trädet.
!dieancestry [-r#] [-t] -m <module base expression> <offset expression>
-r# : dumpa N nivåer rekursivt.
Ange en -m <module base expression> som ger basadressen för den modul som du frågar efter.
<offset expression> är storleken på DIE-förskjutningen.
Exempel:
0:000> !dieancestry -m DisplayGreeting 0x0000000c
0xc: DW_TAG_compile_unit [^^^]
DW_AT_producer 'GNU C++17 11.4.0 -mtune=generic -march=x86-64 -g -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection'
DW_AT_language 0x21
DW_AT_name
DW_AT_comp_dir
DW_AT_ranges
[0x11e9 - 0x134a)
[0x134a - 0x1368)
[0x1368 - 0x137b)
[0x137b - 0x138d)
DW_AT_low_pc 0x0
DW_AT_stmt_list
Observera att länkar, till exempel till föräldrar eller syskon, kan klickas för att möjliggöra ytterligare bläddring av dvärgsymbolträdet.
0:000> !die -r2 -m 0x555555554000 0xc
0xc: DW_TAG_compile_unit [^^^]
DW_AT_producer 'GNU C++17 11.4.0 -mtune=generic -march=x86-64 -g -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection'
DW_AT_language 0x21
DW_AT_name
DW_AT_comp_dir
DW_AT_ranges
[0x11e9 - 0x134a)
[0x134a - 0x1368)
[0x1368 - 0x137b)
[0x137b - 0x138d)
DW_AT_low_pc 0x0
DW_AT_stmt_list
0x2a: DW_TAG_namespace [^^^]
DW_AT_name 'std'
DW_AT_decl_file 9 ('/usr/include/c++/11/bits/exception_ptr.h')
DW_AT_decl_line 0x116
DW_AT_decl_column 0xb
DW_AT_sibling (CU + 0xf01 == 0xf01)
0xf01: DW_TAG_base_type [^^^]
DW_AT_byte_size 0x1
DW_AT_encoding DW_ATE_boolean (2)
DW_AT_name 'bool'
0xf08: DW_TAG_base_type [^^^]
DW_AT_byte_size 0x8
DW_AT_encoding DW_ATE_unsigned (7)
DW_AT_name 'long unsigned int'
...
Alla utdata visas inte.
!dwunwind
!dwunwind liknar .fnent (Visningsfunktionsdata) för PE-bilder. Den visar DWARF-avvecklingsreglerna för en adress som anges av uttrycket. Det liknar även kommandot readelf --unwind som visar varva ned information när den är tillgänglig.
!dwunwind <expression>
I det här exemplet visas varva ned-reglerna för funktionen GetCppConGreeting i DisplayGreeting-programmet.
0:000> !dwunwind DisplayGreeting!GetCppConGreeting
DW_FRAME_SAME_VAL: 0('rax'), 1('rdx'), 2('rcx'), 3('rbx'), 4('rsi'), 5('rdi'), 6('rbp'), 7('rsp'), 8('r8'), 9('r9'), 10('r10'), 11('r11'), 12('r12'), 13('r13'), 14('r14'), 15('r15')
0('CFA'): DW_EXPR_OFFSET 7('rsp') + 8
16('<Return Address>'): DW_EXPR_OFFSET 12290('CFA') + -8
Då visas avrullningsstacken för instruktionspekarens register.
0:000> !dwunwind @rip
DW_FRAME_SAME_VAL: 0('rax'), 1('rdx'), 2('rcx'), 4('rsi'), 5('rdi'), 7('rsp'), 8('r8'), 9('r9'), 10('r10'), 11('r11'), 14('r14'), 15('r15')
0('CFA'): DW_EXPR_OFFSET 7('rsp') + 208
3('rbx'): DW_EXPR_OFFSET 12290('CFA') + -40
6('rbp'): DW_EXPR_OFFSET 12290('CFA') + -32
12('r12'): DW_EXPR_OFFSET 12290('CFA') + -24
13('r13'): DW_EXPR_OFFSET 12290('CFA') + -16
16('<Return Address>'): DW_EXPR_OFFSET 12290('CFA') + -8
Här är ett exempel på programräknare.
0:000> !dwunwind @pc
DW_FRAME_SAME_VAL: 0('x0'), 1('x1'), 2('x2'), 3('x3'), 4('x4'), 5('x5'), 6('x6'), 7('x7'), 8('x8'), 9('x9'), 10('x10'), 11('x11'), 12('x12'), 13('x13'), 14('x14'), 15('x15'), 16('x16'), 17('x17'), 18('x18'), 31('sp'), 32('pc')
0('CFA'): DW_EXPR_OFFSET 31('sp') + 208
19('x19'): DW_EXPR_OFFSET 1436('CFA') + -192
20('x20'): DW_EXPR_OFFSET 1436('CFA') + -184
21('x21'): DW_EXPR_OFFSET 1436('CFA') + -176
22('x22'): DW_EXPR_OFFSET 1436('CFA') + -168
23('x23'): DW_EXPR_OFFSET 1436('CFA') + -160
24('x24'): DW_EXPR_OFFSET 1436('CFA') + -152
25('x25'): DW_EXPR_OFFSET 1436('CFA') + -144
26('x26'): DW_EXPR_OFFSET 1436('CFA') + -136
27('x27'): DW_EXPR_OFFSET 1436('CFA') + -128
28('x28'): DW_EXPR_OFFSET 1436('CFA') + -120
29('fp'): DW_EXPR_OFFSET 1436('CFA') + -208
30('lr'): DW_EXPR_OFFSET 1436('CFA') + -200
!dietree
Dumpar DIE-trädet för en given modul på en specificerad rekursionsnivå, likt att köra verktygen dwarfdump eller llvm-dwarfdump på symbolerna och därmed hitta DIE.
!dietree [OPTIONS] -m <module base> <offset expression>
-r# : Ange rekursionsnivå
-t : Dumpa .debug_types och inte .debug_info
Modulbasen för modulen som innehåller DIE måste anges av alternativet -m <expression>.
<offset expression> är storleken på DIE-förskjutningen.
Exempel:
0:000> !dietree -m DisplayGreeting 0x0000000c
0xc: DW_TAG_compile_unit [^^^]
DW_AT_producer 'GNU C++17 11.4.0 -mtune=generic -march=x86-64 -g -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection'
DW_AT_language 0x21
DW_AT_name
DW_AT_comp_dir
DW_AT_ranges
[0x11e9 - 0x134a)
[0x134a - 0x1368)
[0x1368 - 0x137b)
[0x137b - 0x138d)
DW_AT_low_pc 0x0
DW_AT_stmt_list
Använd alternativet -r2 för att visa ytterligare värden i dietree.
0:000> !dietree -r2 -m DisplayGreeting 0x0000000c
0xc: DW_TAG_compile_unit [^^^]
DW_AT_producer 'GNU C++17 11.4.0 -mtune=generic -march=x86-64 -g -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection'
DW_AT_language 0x21
DW_AT_name
DW_AT_comp_dir
DW_AT_ranges
[0x11e9 - 0x134a)
[0x134a - 0x1368)
[0x1368 - 0x137b)
[0x137b - 0x138d)
DW_AT_low_pc 0x0
DW_AT_stmt_list
0x2a: DW_TAG_namespace [^^^]
DW_AT_name 'std'
DW_AT_decl_file 9 ('/usr/include/c++/11/bits/exception_ptr.h')
DW_AT_decl_line 0x116
DW_AT_decl_column 0xb
DW_AT_sibling (CU + 0xf01 == 0xf01)
0xf01: DW_TAG_base_type [^^^]
DW_AT_byte_size 0x1
DW_AT_encoding DW_ATE_boolean (2)
DW_AT_name 'bool'
0xf08: DW_TAG_base_type [^^^]
DW_AT_byte_size 0x8
DW_AT_encoding DW_ATE_unsigned (7)
DW_AT_name 'long unsigned int'
0xf0f: DW_TAG_base_type [^^^]
DW_AT_byte_size 0x1
DW_AT_encoding DW_ATE_unsigned_char (8)
DW_AT_name 'unsigned char'
...
Alla utdata visas inte. Observera att länkar, till exempel till syskon, kan klickas för att tillåta ytterligare bläddring av dvärgsymbolträdet.
!dielocal
Letar upp DIE för den lokala variabeln med namnet "name" och utför en diagnostikdumpning av DIE som liknar att köra dwarfdump eller llvm-dwarfdump på symbolerna och hitta DIE.
!dielocal [options] <name>
-r# : dumpa N nivåer rekursivt. Normalt sett är detta en enda, och endast själva DIE dumpas.
<name> : lokal variabel med namnet "name".
Exempel:
0:000> !dielocal greeting
0x2806: DW_TAG_variable [^^^]
DW_AT_name 'greeting'
DW_AT_decl_file 1 ('/mnt/c/Users/BOB/DisplayGreeting.cpp')
DW_AT_decl_line 0xf
DW_AT_decl_column 0x1d
DW_AT_type (CU + 0xb18 == 0xb18)
DW_AT_location DW_OP_fbreg(-240)