Page 2 of 2

Re: Debugging on X86 (without compiler listings)

Posted: Sat Nov 19, 2022 10:51 am
by mgdaniel
Adding to your code Arne...

Code: Select all

   printf("minus one\n");
   ots$fill(buf, -1, 0x04);
   for(i = 0; i < sizeof(buf); i++) printf("%02X", buf[i]);
   printf("\n");
   printf("memset minus 1\n");
   memset(buf, 0x05, -1);
   for(i = 0; i < sizeof(buf); i++) printf("%02X", buf[i]);
   printf("\n");
Neither OTS$FILL() or memset() on IA64...

Code: Select all

IA64$ mcr []arne_v_3
01010101010101010101
02020202020202020202
03030303030303030303
minus one
03030303030303030303
memset minus 1
03030303030303030303
But on X86 perhaps something sandwiched between C-RTL and OTS-RTL, or something else entirely...

Code: Select all

X86VMS$ mcr []arne_v_3
01010101010101010101
02020202020202020202
03030303030303030303
minus one
03030303030303030303
memset minus 1
%SYSTEM-F-ACCVIO, access violation, reason mask=07, virtual address=000000007ACA2000, PC=FFFF830007A1B0BC, PS=0000001B

  Improperly handled condition, image exit forced by last chance handler.
    Signal arguments:   Number = 0000000000000005
                        Name   = 000000000000000C
                                 0000000000000007
                                 000000007ACA2000
                                 FFFF830007A1B0BC
                                 000000000000001B
    Register dump:
    RAX = 000000007ACA18C6  RDI = 000000007ACA18C6  RSI = 00000000FFFFFFFF
    RDX = 0505050505050505  RCX = 0000000000000738  R8  = 0000000000023A30
    R9  = 0000000000000000  RBX = 000000007FFCF898  RBP = 000000007ACA17E0
    R10 = FFFFFFFFFFFFFFFE  R11 = 0000000000000001  R12 = 000000007ACA19A8
    R13 = 0000000000000000  R14 = 000000007AEBA170  R15 = 0000000000018090
    RIP = FFFF830007A1B0BC  RSP = 000000007ACA1788  SS  = 000000000000001B
So we're still back at behavioural compatibility potentially avoiding a lot of unnecessarily exploding executables.

Interesting enough but somewhat nugatory activity.

After all this, here's hoping Development provide an explanation rather than just "fixed".

Re: Debugging on X86 (without compiler listings)

Posted: Thu Aug 24, 2023 7:51 am
by imiller
VMS921X_UPDATE-V0100 is now available with an updated debugger

Re: Debugging on X86 (without compiler listings)

Posted: Thu Aug 24, 2023 6:56 pm
by jreagan
For the compilers (cross and native), the release notes talk about using ANALYZE/OBJECT/DISASSEMBLE. Append that to the .LIS file. It has code but no static data. It has line numbers and routine names but no symbolization at the moment.

Machine code listings, etc. is on my list.

And yes, C++ doesn't even have listings yet.

The debugger in the V9.2-1 update that just came out fixes several bugs, including SET MODE SCREEN. There are still bugs remaining and we'll be doing more debugger ECO updates over the next several months.