Windows 7 如何在64位Windows 7上调试VB6 IIS应用程序
我需要能够在Windows 7 64位上调试Visual Basic 6 IIS应用程序。不仅仅是为了一个问题,而是为了持续发展 尝试调试会导致WebClass运行时出现错误“出现未指定的错误” 如果我不调试并简单地访问已编译的webclass,页面加载就可以了。因此,我不认为应用程序的注册/配置有任何问题,但这与Windows操作系统安全性有关,阻止VB6 IDE连接到IIS并允许其进行调试 以下是我尝试过的所有东西:Windows 7 如何在64位Windows 7上调试VB6 IIS应用程序,windows-7,vb6,ide,iis-7.5,iis-metabase,Windows 7,Vb6,Ide,Iis 7.5,Iis Metabase,我需要能够在Windows 7 64位上调试Visual Basic 6 IIS应用程序。不仅仅是为了一个问题,而是为了持续发展 尝试调试会导致WebClass运行时出现错误“出现未指定的错误” 如果我不调试并简单地访问已编译的webclass,页面加载就可以了。因此,我不认为应用程序的注册/配置有任何问题,但这与Windows操作系统安全性有关,阻止VB6 IDE连接到IIS并允许其进行调试 以下是我尝试过的所有东西: 禁用用户帐户控制(UAC)并重新启动 修改了计算机调试管理器(MDM)的D
如果有人能够解决这个问题,并成功地在Windows7操作系统上调试IIS web应用程序,描述了必要的设置,我将提供当前300分的奖励 您能否复制发送到应用程序VB6部分的信息,并从控制台进行测试
我的意思是,这很恶心,但我们谈论的是调试一个混合IIS VB6应用程序 你考虑过写日志文件吗?这非常简单,您可以从代码最有可能导致错误的地方开始。我建议创建一个包含一些参数的函数,比如子/函数名、Err对象和可选的额外字符串,这样您就可以包含额外的信息,比如代码所处的步骤。在错误处理程序中,调用传递参数的函数。不知道这是否有助于进一步。。我正在研究我自己使用的同一个问题 在偶数查看器中,我看到: 计算机默认权限设置不会为具有的COM服务器应用程序授予本地激活权限
CLSID
{08855658-7A0B-4EF9-99B2-0AF875B3E62A}
及
从地址LocalHost(使用LRPC)发送到用户NT AUTHORITY\IUSR SID(S-1-5-17)。可以使用组件服务管理工具修改此安全权限
…所以我尝试将本地激活授予“所有人”-只是想看看我是否能让它消失-我不能
然后,我在组件服务/my Computer(properties)COM安全、启动和激活权限中默认授予本地激活
我仍然无法调试,但在事件查看器中不再出现错误。在浏览器中,我得到
Server object error 'ASP 0178 : 80070005'
Server.CreateObject Access Error
/app.asp, line 4
检查权限时调用Server.CreateObject
失败。拒绝访问此对象
上面的CLSID是我的vb6应用程序,但注册表指向vb6debug.dll(看起来正确)。程序匹配等
已向vb6debug.dll和其他文件上的所有人授予权限
下一步是procmon或类似的东西,看看会发生什么。伙计,我能同情你吗。我花了将近3个人天的时间在这个问题上,仍然没有一个我非常满意的解决方案,但它确实有效,所以我“放弃”了寻找正确的解决方案,并继续这样做,因为我不能再浪费任何资源时间了 在IIS管理器下,单击虚拟目录->身份验证
-禁用匿名身份验证
-启用基本身份验证
浏览到应用程序,输入具有足够权限的域或工作站凭据,以便根据应用程序所在的文件系统安全设置使应用程序工作
这实际上意味着每次我第一次开始调试时都必须向virtdir进行身份验证,但最终让调试再次正常运行所付出的代价很小。听起来好像你想在创建应用程序实例时在调试器中启动VB6 IDE,但这是失败的。您是否尝试过在调试模式下启动VB6 IDE来承载COM组件,在源代码中设置断点,然后查看访问使用该组件的页面是否会导致调试器中的断点被命中?也就是说,将VB6 IDE的激活从循环中去掉——让它运行应该只会导致应用程序的CLSID指向IDE的运行时实例作为COM主机
我已经有很长时间没有使用VB6开发了,所以一些细节可能很粗略,但我确实记得调试COM服务器需要一些技巧,其中一个解决方案是运行一个单独的VB实例作为COM进程外服务器主机。我想你可以非常肯定,微软不想让它成为一个问题
Server object error 'ASP 0178 : 80070005'
Server.CreateObject Access Error
/app.asp, line 4