Like the rest of the IDE, the debugger has been worked on to fully support Unicode too. This support was partially available in past versions, but Delphi 2009 extends it. For example, if you inspect a string variable with Run | Inspect (or Debug | Inspect in the editor local menu) not only will you get the proper Unicode value but an indication at the bottom will inform you of the actual string type of the variable.

In the next page you can see a comparison between an the Inspect pane for an AnsiString and a UnicodeString (reported simply as string):

Debug Inspector


[stri: AnsiString S12F4D4 : S1BAFCCC


Data [

» Vi^^^m 'any string with a P' (■■■)


I Debug Inspector


|str3: string S12F4D0

Data [

» 'any string with a iS.' (■■■ I


In this case Delphi is actually debugging the btnWarningClick of the main form of the StringConvert example of Chapter 2. The two windows are actually showing the same string, although the first couldn't be converted properly due to the Chinese characters.

There are also other features of the debugger that don't relate to Unicode support. A minor thing is that the CPU view supports the SSE3 and SSE4 instructions (minor at least for somebody who infrequently uses assembly language like me).

A way more interesting, even if still quite low-level, feature is the support of the debugger for the Wait Chain Traversal69 feature of Vista (and Windows Server 2008). In the Threads Status pane there is now an extra column with information about the various threads that are contributing to a deadlock.

69 An MSDN technical article that describes Wait Chain Traversal at the operating system level is available at Chris Hesik of CodeGear blogged about this new feature of the Delphi debugger at

This information can be extremely important to understand what happens in your multi-threaded applications.

Was this article helpful?

0 0
Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook

Post a comment