使用visibroker运行CORBA程序造成操作系统崩溃的问题
问题现象描述如下:
全部使用visibroker的缺省安装选项安装完毕。之后在inprise\vbroker\examples\basic\bank_agent目录下用命令
prompt > make cpp
来编译,链接的过程中得到错误提示“找不到文件c0x32.obj”和“找不到文件vcl.lib”。
于是用windows的搜索功能找到这两个文件的位置,将其路径添加给ILINK32命令作为参数(在文件inprise\vbroker\examples\stdmk_nt中进行修改,宏定义LINK_EXE后面的两个-L选项都是我手工添加上去的,分别是上面提示找不到的两个文件所在的目录):
### Platform specific compiler definitions (multi-threaded)
!IF "$(BUILD_TYPE)" == "debug" || "$(BUILD_TYPE)" == "DEBUG"
CC = BCC32 -DWIN32 -D_RTLDLL -D_USE_OLD_RW_STL -D_DEBUG -tWM -k -r- -w -w-inl -w-ausb
!ELSE
CC = BCC32 -DWIN32 -D_RTLDLL -D_USE_OLD_RW_STL -tWM -k -r- -w -w-inl -w-ausb
!ENDIF
LINK_EXE = ILINK32 -Lg:\progra~1\borland\cbuild~1\lib\release -Lg:\progra~1\borland\cbuild~1\lib -Tpe -r -ap -Gn C0X32.OBJ /v
LINK_DLL = ILINK32 -Tpd -r -ap C0D32.OBJ
LINK_OUT = ,
DEBUG = -y -v -R -Od
STDCC_LIBS = import32.lib vcl.lib cw32mti.lib
之后编译链接通过,生成可执行文件client.exe和server.exe。按照《vbcpp45programmers-guide.pdf》中指出的步骤运行:
prompt> osagent
未见异常。
prompt> start server
未见异常。
prompt> client
在console 上得到输出:
An exception (C0000005) occurred during DllEntryPoint or DllMain in module:
G:\PROGRAM FILES\INPRISE\VBROKER\BIN\ORB_BR.DLL
同时windows弹出一个对话框:
“client发生错误(VPORT_BR.DLL)。
client即将关闭。
如果仍有问题,请尝试重新启动计算机。”
单击“确定”后,弹出另外一个对话框:
“client发生错误(KERNEL32.DLL)。
client即将关闭。
如果仍有问题,请尝试重新启动计算机。”
至此windows彻底崩溃,不响应键盘和鼠标,只有用机箱上的reset按钮冷启动。
我用的是windows me 4.90.3000,visibroker 4.5(和c++ builder 6 enterprise集成的),jre 1.2.2 standard edition。
如果哪位高手能够指点一二,切望不吝赐教。