Debugging 在GE客户端中调试KML

Debugging 在GE客户端中调试KML,debugging,kml,google-earth,Debugging,Kml,Google Earth,使用Google Earth 6.2.2.6613客户端和KML文件,我需要进行调试 我遇到过这样的情况:GE报告我的KML文件发出了“无效HTTP请求”,并且它显示了有问题的URL 我可以将URL剪切并粘贴到web浏览器中,它会返回预期的结果 因此,问题是“如何从GE客户端获得有用的调试信息?” 例如“无效的HTTP请求”?怎样?什么是无效的?GE客户端是否运行/具有调试日志或模式 我使用的是64位Windows 7 Professional,但我将来需要测试其他版本(Mac OS X) 虽然

使用Google Earth 6.2.2.6613客户端和KML文件,我需要进行调试

我遇到过这样的情况:GE报告我的KML文件发出了“无效HTTP请求”,并且它显示了有问题的URL

我可以将URL剪切并粘贴到web浏览器中,它会返回预期的结果

因此,问题是“如何从GE客户端获得有用的调试信息?”

例如“无效的HTTP请求”?怎样?什么是无效的?GE客户端是否运行/具有调试日志或模式

我使用的是64位Windows 7 Professional,但我将来需要测试其他版本(Mac OS X)


虽然web代理(或我自己的globe服务器)允许我查看http流量,但我需要查看GE客户端请求之间发生的情况。

Google Earth本身不记录其内部所做的事情,也没有调试模式来启用此类记录。您可以在Tools/Options/General菜单中启用“KML Error Handling”(KML错误处理),这可能会提供有关无效KML的更多信息,但验证KML最好使用类似的方法

因此,调试GoogleEarthHTTP访问的最简单方法是使用网络分析器(如Fiddler Web调试器)来识别网络流量

Fiddler作为HTTP代理运行,并捕获显示完整HTTP请求和响应信息的所有web访问。只需单击“捕获流量”,然后启动Google Earth以捕获所有HTTP流量

您可以通过点击kh.google.com、mw1.google.com、khmdb.google.com、mw2.google.com等来捕获HTTP会话,其中包含完整的URL、请求和响应的HTTP头等等。有许多选项用于多视图、过滤、解码、计时信息等。您将看到所选图层作为KMZ文件下载

Sample Web session

Result Port  Host            URL
200    HTTP  kh.google.com   /geauth?ct=free
200    HTTP      Tunnel to www.google.com:443
200    HTTP      Tunnel to accounts.google.com:443 
200    HTTP  kh.google.com   /flatfile?q2-0-q.534
200    HTTP  mw1.google.com  /mw-earth-vectordb/photos/360cities/360cities.kmz
200    HTTP  mw1.google.com  /mw-weather/base/files/kml/weather_en.kmz
...
调试后,您可以停止Fiddler,它会将HTTP代理设置恢复到正常状态

我使用这个工具来快速查看Google Earth在幕后做了什么。它使用方便,非常友好


好的,但fiddler不会告诉您客户端正在做什么。只会告诉您客户端发送/接收的流量。如果您运行自己的globe服务器,则可以获得相同的信息。如果Google Earth客户端具有调试模式,则不会记录该模式,客户端中也没有启用调试/日志记录的选项。注册表设置中也没有任何此类选项。唯一的调试实际上是检查HTTP流量。谢谢Jason,但HTTP流量并不能解决问题。考虑一个问题:“我怎么知道GE报告无效的链接为什么是无效的?”HTTP流量只会回答1/2(充其量)的可能原因。