PowerBuilder 等同于 Debug.WriteLine?

问题描述 投票:0回答:4

我有一个 PowerBuilder 项目调用我的 .Net 类库暴露给 COM。我是 PowerBuilder 的新手,刚开始接触它。我想为我的 COM 调用创建一些简单的测试,我已经找了很长时间,但找不到任何类似于 VS 诊断方法的东西。

这个功能存在吗?

非常感谢!

.net com debugging powerbuilder diagnostics
4个回答
4
投票

您可以通过 Windows 调试 API 记录消息,然后使用合适的查看器可以看到您的消息。


3
投票

我假设您想编写自定义数据,而不仅仅是执行的行(遗憾的是,这是您从 PBDEBUG 获得的所有内容;我一直想要将自定义数据写入 PBDEBUG 跟踪,但我一直无法说服Sybase 的任何人都可以将其添加到产品中)。

全氟化碳

PFC 提供执行此操作的调试服务,但如果您尚未使用 PFC 构建您的应用程序,则可能需要适度的努力才能使其适应您的基础架构。如果你有一个基于 PFC 的应用程序,你所要做的就是

of_SetDebug (TRUE)

在应用程序管理器的 pfc_Open 事件中(或其他一些合适的地方),然后开始用

填充你的代码
IF IsValid (gnv_App.inv_Debug) THEN gnv_App.inv_Debug.of_Message (...)

这样,您只需删除 of_SetDebug() 即可关闭消息传递,而无需删除所有消息的代码。 (好吧,理论上这会稍微减慢你的应用程序,检查是否 IsValid () 一直。)我什至输入代码以便我可以使用命令行选项打开调试服务(我不不要告诉用户)。这样,我就可以在最终用户的工作站上进行这种类型的故障排除(假设我已经预料到了我需要写入的数据)。

其他

如果我坚持使用非 PFC 应用程序,恐怕我通常太匆忙(阅读:太懒惰)来适应 PFC 调试服务,所以我只是创建一个全局函数来执行 FileOpen、FileWrite 和FileClose 在一个硬编码的文件名上,写入作为参数传入的消息。然后我通过调用这个函数来加载我的代码。从理论上讲,您可以在部署时将其设为空函数,但我通常会删除所有调用。


2
投票

您可以使用“/pbdebug”运行时开关,它会创建一个日志文件。除了您必须滚动自己的日志记录之外,众所周知,PB (IMO) 很难执行单元测试。


0
投票

你在为 .NET 目标编译吗?

在那种情况下,您应该能够使用您的 .NET 函数:

#if defined PBDOTNET
   System.Diagnostics.Debug.WriteLine( .. )
#endif
© www.soinside.com 2019 - 2024. All rights reserved.