Wine HQ

  WineHQ Menu
 WineHQ
 AppDB
 Bugzilla
 Wine Wiki
 Wine Forums

  About
 Introduction
 Features
 Screenshots
 Contributing
 News
 Press
 License

  Download
 Get Wine Now

  Support
 Getting Help
 FAQ
 Documentation
 HowTo
 Live Support Chat
 Paid Support

  Development
 Developers Guide
 Mailing Lists
 GIT
 Sending Patches
 To Do Lists
 Fun Projects
 Janitorial
 Winelib
 Status
 Resources
 WineConf

Search WineHQ
WineDbg Expressions and Variables

1.6. WineDbg Expressions and Variables

1.6.1. Expressions

Expressions in Wine Debugger are mostly written in a C form. However, there are a few discrepancies:

  • Identifiers can take a '!' in their names. This allow mainly to access symbols from different DLLs like USER32!CreateWindowExA.

  • In cast operation, when specifying a structure or an union, you must use the struct or union keyword (even if your program uses a typedef).

When specifying an identifier by its name, if several symbols with the same name exist, the debugger will prompt for the symbol you want to use. Pick up the one you want from its number.

In lots of cases, you can also use regular expressions for looking for a symbol.

winedbg defines its own set of variables. The configuration variables from above are part of them. Some others include:

$ThreadId

ID of the W-thread currently examined by the debugger

$ProcessId

ID of the W-thread currently examined by the debugger

<registers>

All CPU registers are also available, using $ as a prefix. You can use info regs to get a list of avaible CPU registers

The $ThreadId and $ProcessId variables can be handy to set conditional breakpoints on a given thread or process.