查看: 1479|回复: 0
打印 上一主题 下一主题

[提问] Unity3D 3.5 之windows平台coding及debug环境小结

[复制链接]

1557

主题

1

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
454
精华
31

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2013-10-12 15:26:31 |只看该作者 |倒序浏览
使用unity3d3.5也有一段时间了,对于编码和调试的集成环境小结如下:
(1) 编辑代码使用Visual Studio . 这样可以使用VA等辅助工具,相对MonoDevelop来说高亮也会舒服很多。如果始终使用VS进行代码编辑的话,也不会注释上出现中文乱码的问题,而在MonoDevelop中则会出现乱码。Unity3D 3.5中可以配置默认打开的IDE,推荐选择VS,这样可以避免3.5版本的一个bug,此bug描述如下:
     对于将Visual Studio 2008 安装在非C盘的开发者,如果在Unity编辑器中将默认打开的IDE设为MonoDevelop,那么将会生成版本号为11的sln文件,导致VS2008无法打开对应的sln,除非修改sln文件(使用文本打开,修改其版本号为10即可),但如果有cs文件增删,Unity编辑器会生成新的sln文件,这样又需要手工修改,烦不胜烦。
     解决方案:将Visual Studio 2008安装到C盘,并且将Unity编辑器的默认脚本IDE设置为Visual Studio 2008.如果想对程序进行调试,则在Unity编辑器之外将MonoDevelop启动,再打开Unity编辑器生成好的sln文件。
(2) 调试代码使用MonoDevelop. 将MonoDevelop启动,打开编辑器生成的sln文件,然后将Unity编辑器打开,可以马上在MonoDevelop中进行Attach编辑器进程,也可以等编辑器处于GamePlay状态时进行Attach,都可以。
      其实真想某天能看到使用Visual Studio进行代码编辑和调试,不过目前看起来不太可能,Unity编辑器使用JIT编译出来的dll是Mono的dll,PDB文件什么的,跟微软的标准很可能不一致。我曾经尝试过使用Visual Studio编译出来的dll替换编辑器编译出来的dll,是能够正常运行的,因为Mono对.net进行了自己的一套实现。但通过Visual Studio attach编辑器进程,依然无法调试,很可能在PDB那里出了问题,没能够装载VS产生的PDB。
如果哪位兄台能够在VS中调试Unity3D,请赐教,不胜感激*^_^*
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-16 10:51 , Processed in 0.152632 second(s), 31 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部