Home » Community » U++ community news and announcements » TheIDE PDB debugger now understands some U++ types
TheIDE PDB debugger now understands some U++ types [message #52770] |
Fri, 22 November 2019 10:31  |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
So, this is for PDB debugger (one for Visual C++ compiler only) and it is limited, hardcoded and otherwise ugly implementation, plus there is some work left to do (support more types, support structured browsing), but in general I think it is already useful feature:
[Updated on: Fri, 22 November 2019 10:35] Report message to a moderator
|
|
|
|
|
|
|
Re: TheIDE PDB debugger now understands some U++ types [message #52801 is a reply to message #52800] |
Fri, 29 November 2019 09:13   |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
zsolt wrote on Fri, 29 November 2019 02:41How can I activate it?
I have compiled current Git version with MSC 2017 64 bit, but it seems to be working in the old way.
Should work out of box-> something is wrong.
Core should be trunk version for Value recogniction.
Project must be compiled with MSC.
Not all U++ types are supported. Check ide/debuggers/Pretty.cpp for the list of types currently supported:
pretty.Add("Upp::Date", { 0, THISFN(PrettyDate) });
pretty.Add("Upp::Time", { 0, THISFN(PrettyTime) });
pretty.Add("Upp::ValueArray", { 0, THISFN(PrettyValueArray) });
pretty.Add("Upp::ValueMap", { 0, THISFN(PrettyValueMap) });
pretty.Add("Upp::Value", { 0, THISFN(PrettyValue) });
pretty.Add("Upp::String", { 0, THISFN(PrettyString) });
pretty.Add("Upp::WString", { 0, THISFN(PrettyWString) });
pretty.Add("Upp::Vector", { 1, THISFN(PrettyVector) });
pretty.Add("Upp::BiVector", { 1, THISFN(PrettyBiVector) });
pretty.Add("Upp::Array", { 1, THISFN(PrettyArray) });
pretty.Add("Upp::BiArray", { 1, THISFN(PrettyBiArray) });
pretty.Add("Upp::Index", { 1, THISFN(PrettyIndex) });
pretty.Add("Upp::VectorMap", { 2, THISFN(PrettyVectorMap) });
pretty.Add("Upp::ArrayMap", { 2, THISFN(PrettyArrayMap) });
pretty.Add("std::vector", { 1, THISFN(PrettyStdVector) });
pretty.Add("std::basic_string", { 1, THISFN(PrettyStdString) });
If none of those helps, we will have to dig into it... E.g. for starters, testcase would help.
Is debugged code 32 or 64?
|
|
|
|
|
|
|
|
|
|
|
|
Re: TheIDE PDB debugger now understands some U++ types [message #52837 is a reply to message #52830] |
Sun, 08 December 2019 16:27   |
Novo
Messages: 1430 Registered: December 2006
|
Ultimate Contributor |
|
|
mirek wrote on Sun, 08 December 2019 02:40
This definitely possible to binaries produced by GCC toolchain too. But it is a LOT of work, probably would involve thorough study of GDB sources and about a year to complete.
IMHO, it is easier to use LLDB, which is available as a lib.
"The LLDB debugger APIs are exposed as a C++ object oriented interface in a shared library. The lldb command line tool links to, and uses this public API."
Regards,
Novo
|
|
|
|
|
Goto Forum:
Current Time: Tue Apr 29 08:40:09 CEST 2025
Total time taken to generate the page: 0.02754 seconds
|