使用Fiddler调试Windows Phone 7模拟器

时间:2010-07-22 00:54:21

标签: debugging windows-phone-7 fiddler

我最近开始使用Windows Phone 7的更新测试版工具,并遇到了一个有趣的问题。似乎在Fiddler运行时,任何Http请求都会通过模拟器开始返回null结果并创建一个“未找到”Web异常。使用WebClient.DownloadStringAsync()可以很容易地重现这一点。如果我没记错的话,旧版本的模拟器确实可以与Fiddler一起使用。有没有人幸运让两人一起工作?如果不可能,我会接受任何其他可以帮助调试来自WP7模拟器的Web请求的工具。

2 个答案:

答案 0 :(得分:2)

通过一些用于设置blog post that describes getting fiddler working with Win Phone 7的自定义规则,似乎有Fiddler as a Reverse Proxy

以下是来自fiddler网站的一些说明,但博客文章似乎更清晰一些(抱歉古怪的格式,块报价不合作):

  

选项#1:将Fiddler配置为   反向代理提琴手可以   配置,以便发送到任何流量   http://127.0.0.1:8888是自动的   发送到同一个不同的端口   机。要设置此配置:

     

启动REGEDIT创建一个名为的新DWORD   ReverseProxyForPort里面   HKCU \ SOFTWARE \微软\的Fiddler

     

将DWORD设置为您想要的本地端口   将入站流量重新路由到   (通常是标准HTTP的端口80   服务器)重启Fiddler导航你的   浏览器到http://127.0.0.1:8888

     

选项#2:编写FiddlerScript规则   或者,您可以编写规则   做同样的事情。

     

假设您在端口上运行网站   80个名为WEBSERVER的机器。   您正在使用连接到该网站   Internet Explorer Mobile Edition上   Windows SmartPhone设备   您无法配置Web代理。   您想捕获来自的流量   电话和服务器的响应。

     

在WEBSERVER上启动Fiddler   机器,在默认端口上运行   8888.单击工具|提琴手   选项,并确保“允许远程   客户端连接“复选框是   检查。如果需要重启。选择   规则|自定义规则。在 - 的里面   OnBeforeRequest处理程序,添加一个新的   代码行:if   (oSession.host.toLowerCase()==   “webserver:8888”)oSession.host =   “网络服务器:80”;在智能手机上,   导航到http://webserver:8888   来自SmartPhone的请求将会   出现在Fiddler。请求是   从端口8888转发到端口80   Web服务器正在运行的位置。该   回复通过发回   提琴手到SmartPhone,有   不知道原来的内容   来自80号港口。

答案 1 :(得分:1)

我无法让Fiddler监控流量,所以我使用WireShark,它工作正常。