tools/win/chromeexts/README.md
chromeexts is a debugger extension that works in cdb, ntsd, and windbg.
[TOC]
First build the chromeexts build target with ninja and then in the debugger,
run the following command:
> .load [Path to the chromeexts.dll]
After that, the following commands will work in the debugger.
> !views [options] <Address To View Object>
Provides information about a view object in a easy to read format.
| Option | Description |
|---|---|
/children | Output the addresses of all children |
/r | Requires /children. Output all children recursively. |
Simple Output
> !view 0x250a57f0
Bounds: 0,9 (1042x1077)
Parent: 0x250801a8
Viewing the Children
> !view /children 0x250a57f0
Child Count: 4
25b9e368 25b91110 2507e0a8 2507fd78
Viewing the Children Recursively
> !view /children /r 0x25ee8098
Child Count: 4
<views!views::MdTextButton::`vftable' address="0x25ee8098" bounds="274 8 32x106" enabled="false" id="0" needs-layout="false" visible="true">
<views!views::FocusRing::`vftable' address="0x25e2f328" bounds="-1 -1 34x108" enabled="false" id="0" needs-layout="false" visible="false" />
<views!views::InkDropContainerView::`vftable' address="0x25e2b9d8" bounds="0 0 32x106" enabled="false" id="0" needs-layout="false" visible="false" />
<views!views::ImageView::`vftable' address="0x25e2d4f8" bounds="16 16 0x0" enabled="false" id="0" needs-layout="false" visible="true" />
<views!views::internal::LabelButtonLabel::`vftable' address="0x25f75690" bounds="16 0 32x74" enabled="false" id="0" needs-layout="false" visible="true" />
</views!views::MdTextButton::`vftable'>
> !hwnd <Window Handle>
Requires live debugger. Provides information about an HWND.
> !hwnd 008F0638
Title: chromeexts - Chrome's Windbg Extension - Google Chrome
Class: Chrome_WidgetWin_1
Hierarchy:
Owner: 00000000 Parent: 00000000
Prev: 000900c8 Next: 000402f4
Styles: 16cf0000 (Ex: 00000100)
Bounds: (253, 246) 1718x816