I want to display the entire content of a TStringList while debugging the application. Instead I just get pointers. The Flist is showing only the address.
相关问题
- Is there a Delphi 5 component that can handle .png
- Is there a way to install Delphi 2010 on Windows 2
- Pass custom debug information to Microsoft bot fra
- Is TWebBrowser dependant on IE version?
- iOS objective-c object: When to use release and wh
相关文章
- How do I get to see DbgPrint output from my kernel
- Best way to implement MVVM bindings (View <-> V
- Advanced profiling is unavailable for the selected
- Windows EventLog: How fast are operations with it?
- Can't Inspect Variables When Debugging .NET As
- What is the difference between glibc's MALLOC_
- How to force Delphi compiler to display all hints
- Coloring cell background on firemonkey stringgrid
Inspect the Text property. It's the concatenated version of the stringlist.
My two cents:
You can evaluate expression
list_instance_variable.SaveToFile('temp_file_name.txt')
and then examine content of the file in any editor.To do that you must use this function anywhere in code and turn off optimization (at least in Delphi 7), otherwise object code of
SaveToFile
would be removed by the linker.I use the visualizers now that I have D2010. I used to use a function I called CArray that would return an array of strings. If I added CArray(MyStringList) to the watch window, I would be able to examine the contents of the string list. I used to be employed to write VB6 code and I sort of liked the various 'C' functions for converting to a useful type. CArray for stringlists and CArray for ClientDataset fields were mostly useful for debugging.
If you are using Delphi 2010 or later, the debugger allows for this using debug visualizers.
For older versions, you can dump the contents of the Text property in the Watch window or using OutputDebugString, but that's difficult to read. You could set up watches for each element of the list, but that's only practical for very short lists.
I would probably use an external logging app like CodeSite or SmartInspect that let you dump the contents of a TStringList in a single call.
Since i´m using BDS MMVI, i´m using an "ultra clever smart" method for that kind issue, i use it for large xml documents. I start context file editor (very capable free text editor writen in delphi by the way). On the debugger window a just do a FList.SaveToFile('contents.txt'), since context can monitor file modifications i can see whats happening in my xml files.
Sorry for the "clever" joke but it does work for me.
Peace