我真的在这里失去它。无法将调试器附加到进程对我来说是一件大事。因此,我很难做一些事情来确定Azure托管应用程序的问题根源。
更糟糕的是,该应用程序在开发结构中运行良好,即使使用在线存储表,但在上传和在线运行时可能会非常混乱。
我知道IntelliTrace是一种方法,但不幸的是,我有一台x86机器,该应用程序使用RIA服务。因此,从我的机器发布它会导致RIA服务导致的错误。我无法通过指定x64同样的bug再次构建应用程序。 (到目前为止,我知道部署RIA Services Azure应用程序的唯一方法是将其设置为Any CPU并从x64计算机构建/发布它。)
因此IntelliTrace不可用。在线Azure没有类似于开发结构的漂亮控制台日志窗口的东西,因此,我很茫然。到目前为止,我一直只是试图让事情发挥作用而不是通过评论代码部分而崩溃,但考虑到上传和启动实例所需的时间,这几乎不是最佳选择。
此时我们将不胜感激。
答案 0 :(得分:2)
Azure SDK具有内置的日志记录/诊断机制: http://msdn.microsoft.com/en-us/library/gg433120.aspx
一种方法是部署一个内置Azure特定工具的版本。
答案 1 :(得分:1)
您可以尝试将RDP添加到角色的实例中,并查看是否有任何日志(事件或文件)中的任何内容可帮助您确定失败的位置。
Baring that,我认为Amasuriel的正确之处在于您真正需要将仪器设计到您的解决方案中。在构建Windows Azure应用程序时,它在我的“必须”列表中。
答案 2 :(得分:0)
如果您可以访问具有x64版Visual Studio的其他工作站,则可以configure Azure diagnostics to collect and copy the crash dumps to Blob Storage:
// Must be called after diagnostic monitor starts.
CrashDumps.EnableCollection(false);
然后您可以下载它们(使用Azure Storage Explorer之类的工具)并在本地调试它们。
答案 3 :(得分:0)
如果你真的需要看看控制台上发生了什么,Rob Blackwell在他的Azure Run Me解决方案中嵌入了一个巧妙的小技巧。
它通过服务总线将azure实例的控制台输出推出。因此,您可以在本地使用该数据,并实际监视桌面上Azure上运行的实例的控制台。
AzureRunMe在这里可用,它是开源的,所以你可以看看他们如何将控制台输出提供给SB。