我想接管一些涉及DEC BASIC,A.K.A的项目。 VAX BASIC,A.K.A. Alpha BASIC。我真的希望遇到有经验的人。我已经完成了VAX/Alpha BASIC的用户手册,但我无法弄清楚如何调试可共享的代码。为OpenVMS调试Alpha BASIC
我可以创建,编译和链接可共享代码,我可以调试引用可共享代码的代码,但我无法调试可共享代码。任何帮助将不胜感激。
我使用的编译和链接的命令是:
$ BASIC/DEBUG/NOOPTIMIZE COMPARE_DATES_TEST.BAS,COMPARE_DATES.BAS
$ LINK/SHAREABLE/DEBUG COMPARE_DATES.OBJ,COMPARE_DATES_SUB/OPT
$ LINK/DEBUG COMPARE_DATES_TEST,COMPARE_DATES_MAIN/OPT
$ RUN COMPARE_DATES_TEST
两个选项文件的内容是:
$ type COMPARE_DATES_SUB.OPT
! COMPARE_DATES_SUB.OPT
SYMBOL_VECTOR=(COMPARE_DATES=PROCEDURE)
$ type COMPARE_DATES_MAIN.OPT
! COMPARE_DATES_MAIN.OPT
COMPARE_DATES/SHAREABLE
我的共享代码有缺陷,但我不哪里知道,调试器报告:
— SRC: module COMPARE_DATES_TEST$MAIN -scroll-source————————————————————————————
1: EXTERNAL INTEGER FUNCTION COMPARE_DATES(STRING,STRING)
2: DECLARE STRING A$, B$
3: A$ = "01-APR-18"
4: B$ = "15-MAY-2017"
5:
-> 6: PRINT COMPARE_DATES(A$, B$)
7: END
— OUT -output———————————————————————————————————————————————————————————————————
stepped to COMPARE_DATES_TEST$MAIN\COMPARE_DATES_TEST$MAIN\%LINE 3
stepped to COMPARE_DATES_TEST$MAIN\COMPARE_DATES_TEST$MAIN\%LINE 4
stepped to COMPARE_DATES_TEST$MAIN\COMPARE_DATES_TEST$MAIN\%LINE 6
%BAS-F-SUBOUTRAN, Subscript out of range
-BAS-I-FROFUN, In external function COMPARE_DATES
-BAS-I-FROMOD, In module COMPARE_DATES_TEST
break on unhandled exception preceding 18446744071563830960
— PROMPT -error-program-prompt——————————————————————————————————————————————————
%DEBUG-I-SOURCESCOPE, source lines not available for %PC in scope number 0
Displaying source for 6\%PC
DBG>
默认情况下,可共享图像将从“Sys $ Share:”加载。是放置文件的位置,还是您创建了一个逻辑名称以指向您的本地调试图像? (参考第5.4节[这里](http://h41379.www4.hpe.com/doc/84final/4538/4538pro_011.html)。) – HABO
我添加了一个逻辑“DEFINE COMPARE_DATES DRIVE:[FOLDER] COMPARE_DATES.EXE” –
通常,调试器会在停止点处显示源代码,这是一个“未处理的异常”。但调试器报告无法找到源。通常调试器是正确的。 – user2116290