Flash Builder 无法概要分析 原因查找

在公司里面的flash builder可以正常的概要分析(profiler),自己的本子始终不行。报错信息:

无法连接到应用程序以访存概要分析数据。请再次尝试对应用程序进行概要分析。

搜索了下百度,基本没有相关信息,然后尝试重装Flash Builder,重装后还是不行。

去google.com搜索Flash Builder Profiler,搜索到一篇adobe论坛的帖子(http://forums.adobe.com/thread/657773),好像有这个问题的人还挺多的。然后浏览了下,有人说是flashplayer10.1的问题,降级到10.0就可以了,试了下,发现还是不行。

多次尝试无果后,偶然发现我进行概要分析的时候,在D:\Backup生成了一个mm.cfg。很奇怪,怎么这个地方会有这个文件,然后删除了,然后再点概要分析,发现确实是fb生成的。

问题就是这个,因为flashplayer是从用户目录下面读取mm.cfg的,然后这两个文件不在一个地方,就出问题了。

 

找到问题了,但是怎么解决呢?

去fb的安装目录看看有没有什么配置文件的。然后发现了configuration目录下面的config文件里面有一行是:

[email protected]/Adobe Flash Builder 4

这里有个user.home,然后搜索了下这个变量,发现没有其它地方有这个变量的设置。

考虑到fb是Eclipse做的,然后搜索Eclipse user.home 然后发现这个变量是从java的user.home系统变量继承而来

然后搜索java user.home 然后发现这个变量生成规则是:

Windows 平台:
1:从 Windows 注册表 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders 中查找 Desktop 键并获取这个键值的上层目录;
2:如果步骤 1 为 null,则加载 Win32 API: shell32.dll,调用其中的 SHGetSpecialFolderLocation 函数获取 CSIDL_DESKTOPDIRECTORY 的路径值,再取这个路径的上层目录;
3:如果步骤 2 为 null,则采用默认的 C:\。
(参考:http://www.fwriter.com/html/Java/6270/20518.html)

原来这个变量是用户桌面目录的上级目录,居然是这样!!但是我的桌面目录使用超级兔子修改为了:D:\Backup\桌面

然后由于这个就导致了fb认为用户目录是D:\Backup了。而不是正确的C:\Documents and Settings\rendong

查看java参数,发现有-D选项,可以设置系统变量,于是最后的解决方案就出来了:

修改fb安装目录的FlashBuilder.ini文件,在最后增加一行:-Duser.home=C:\\Documents and Settings\\rendong

 

重新打开fb后,就可以正常的进行概要分析了。

 

总结:这个问题的元凶还是要追溯到java上面,处理用户目录居然用这么傻的规则。

你可能感兴趣的:(搜索,百度,builder,应用程序,信息)