Discussions related to Visual Prolog
Harrison Pratt
VIP Member
Posts: 439
Joined: 5 Nov 2000 0:01

VIP 8 Debugger 'Unknown' object

Unread post by Harrison Pratt »

I encountered a situation in which the debugger cannot fully capture object information in some circumstances.

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
The Variables in the Current Window display is only this:

Code: Select all

test::testEAV()   EAVDB : g_eavDB = <UNKNOWN 047BEFA0>
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:

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
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.
User avatar
Thomas Linder Puls
VIP Member
Posts: 1398
Joined: 28 Feb 2000 0:01

Re: VIP 8 Debugger 'Unknown' object

Unread post by Thomas Linder Puls »

Vip 8 uses a completely new strategy for showing variables in the debugger (see Presenters).

This strategy gives huge advantages, but we have unfortunately also had/have a lot of problems like the one you describe.

We have decided that the advantages out-weight the disadvantages. We are of course working on minimizing problems.

Please keep us informed about the problems you experience.
Regards Thomas Linder Puls
PDC
Post Reply