VIP 8 Debugger 'Unknown' object
Posted: 7 Mar 2018 16:30
I encountered a situation in which the debugger cannot fully capture object information in some circumstances.
If I run the following code
The Variables in the Current Window display is only this:
The the g_eavDB .cl, .i and .pro files are in a directory defined in the Project Settings Include Directories and the code works as expected when testing. The debugger can step through the code and display variables in the .pro files, but in the Variables window it still doesn't fully capture the objection information:
VIP 7.5 captures all the required information in the debugger with the g_eavDB files in a non-project directory.
However, if I create a new VPI 8 project and put g_eavDB files in the project directory tree, then the debugger can "see" the variables in the created object from a breakpoint in the testEAV() clause.
% ADDENDUM COMMENT:
After going through all the above testing and documentation, including opening and closing the 7.5 and 8.0 IDEs several times, I took a break and when I reopened the suspect 8.0 project the debugger worked normally. That is very mysterious. "Things that go away by themselves can reappear by themselves" -- Attributed to Bill Gates.
If I run the following code
Code: Select all
testEAV() :-
EAVDB = g_eavDB::new("SomeEav"), % creates a new database object
EAVDB:put_eavInt("Entity", "Attrib", 99),
EAVDB:put_eavStr("Entity", "Attrib1", "11"),
EAVDB:writeAsIni(stdio::outputStream),
nothing(""). % <== BREAKPOINT HERE
Code: Select all
test::testEAV()
EAVDB : g_eavDB = <UNKNOWN 047BEFA0>
Code: Select all
g_eavDB::put_eavInt(string Entity, string Attribute, integer Value)
This : g_eavDB = <UNKNOWN 047DEFA0>
A : string = "Attrib"
E : string = "Entity"
V : integer = 99
However, if I create a new VPI 8 project and put g_eavDB files in the project directory tree, then the debugger can "see" the variables in the created object from a breakpoint in the testEAV() clause.
% ADDENDUM COMMENT:
After going through all the above testing and documentation, including opening and closing the 7.5 and 8.0 IDEs several times, I took a break and when I reopened the suspect 8.0 project the debugger worked normally. That is very mysterious. "Things that go away by themselves can reappear by themselves" -- Attributed to Bill Gates.