Zh/Installing and Debugging the Source Code: Difference between revisions

From Valve Developer Community
< Zh
Jump to navigation Jump to search
No edit summary
m (完成未翻译的英文句子,翻译VS菜单命令,保留原始英文)
Line 20: Line 20:
* [[Compiling under VS2008|用 Visual Studio 2008 编译]]
* [[Compiling under VS2008|用 Visual Studio 2008 编译]]


{{note|It is on debug compile by default. 为了让 MOD 以调试状态的 dll 运行,您必须在 Steam 的游戏列表中右键点击您的 MOD , 点击 '''属性''' -> '''设置启动选项''' 添加 ''-allowdebug'' 到 已存在的所有参数后面 (以空格分离). You can change to a release build (for distributing the mod) in the configuration manager.}}
{{note|项目的默认编译配置为debug模式。为了让 MOD 以调试状态的 dll 运行,您必须在 Steam 的游戏列表中右键点击您的 MOD , 点击 '''属性''' -> '''设置启动选项''' 添加 ''-allowdebug'' 到 已存在的所有参数后面 (以空格分离)。你可以在配置管理器中切换到release模式(用于发行模组)}}


目前代码在 VS2005 能够更好的编译. 您可以在这里下载: http://www.microsoft.com/express/2005/
目前代码在 VS2005 能够更好的编译. 您可以在这里下载: http://www.microsoft.com/express/2005/
Line 31: Line 31:
   
   
{{note|这只会在您安装并运行了 Source SDK Base 之后起作用.}}  
{{note|这只会在您安装并运行了 Source SDK Base 之后起作用.}}  
# 在 '''Solution Explorer window''', 右键点击 the current project (the one in bold) 并选择 '''Properties'''.  
# 在 '''解决方案资源管理器窗口|Solution Explorer window''', 右键点击当前项目 (用粗体标记的名称) 并选择 '''属性|Properties'''.  
# 当属性对话框出现时, 选择左手边的调试选项.  
# 当属性对话框出现时, 选择左手边的'''调试'''选项.  
# 在右手边 '''Command''' 旁边的文本框中, 输入 <code>C:\Steam\SteamApps\'''Username'''\source sdk base 2007\hl2.exe</code> (根据您的 Steam 的安装目录调整这里的路径).  
# 在右手边 '''命令|Command''' 旁边的文本框中, 输入 <code>C:\Steam\SteamApps\'''Username'''\source sdk base 2007\hl2.exe</code> (根据您的 Steam 的安装目录调整这里的路径).  
# Next to '''Command Arguments''', 输入 <code>-dev -sw -game "C:\Steam\SteamApps\SourceMods\MyMod"</code> (这里的 '''MyMod''' 是你在 ''Create a Mod'' 对话框中输入的名字).  
# '''命令参数|Command Arguments''' 旁边输入 <code>-dev -sw -game "C:\Steam\SteamApps\SourceMods\MyMod"</code> (这里的 '''MyMod''' 是你在 ''Create a Mod'' 对话框中输入的名字).  
# Next to '''Working Directory''', 输入 <code>C:\Steam\SteamApps\'''Username'''\source sdk base 2007</code> (根据您的 Steam 的安装目录调整这里的路径).  
# '''工作目录|Working Directory''' 旁边输入 <code>C:\Steam\SteamApps\'''Username'''\source sdk base 2007</code> (根据您的 Steam 的安装目录调整这里的路径).  
# 点击 '''OK''' 按钮.
# 点击 '''OK''' 按钮.
{{note|如果你在上述选项中的路径含有空格,最好给路径加上双引号。例如: <code>"C:\Steam\SteamApps\'''Username'''\team fortress 2\hl2.exe"</code> 等等。如果不加双引号,'''或许也可以'''正常工作,但如果在调试时候遇到问题,可以尝试一下这个办法。}}
{{note|如果你运行的是Half-Life 2: Episode One引擎,你可以用 <code> source sdk base</code> 代替 <code> source sdk base 2007</code>}}


==== 在调试器中运行 ====  
==== 在调试器中运行 ====  
 
 
# ''Important: 当 SDK 更新后, 您必须确定在调试器里运行游戏之前,您'' '''通过 Steam''' ''运行了一次您编辑过的游戏 (只需要一次). 如果您不这样做, 当您通过调试器运行的时候,您将会得到 Steam 错误 .''  
# ''重要步骤: 当 SDK 更新后, 您必须确定在调试器里运行游戏之前,至少已经'' '''通过 Steam''' ''运行了一次您编辑过的游戏 (只需要一次). 否则, 当您通过调试器运行的时候,您有可能会遇到 Steam 错误 .''  
# 右键点击您正在编辑的相同的工程, 选择 Debug->Start New Instance.  
# 右键点击刚才编辑过属性的工程, 选择 调试|Debug->启动新实例|Start New Instance.  
# 如果您得到警告: <code>hl2.exe</code> 没有调试信息, 忽略它.  
# 如果您得到警告: <code>hl2.exe</code> 没有调试信息, 忽略它.  
# 现在它应该会运行 Half-Life 2 并且运行您的代码了. 您下载就可以修改这些代码, 重新编译, 然后回到游戏看看您的修改!
# 现在 Half-Life 2 应该会启动并且运行您的代码了. 您接下来就可以修改这些代码, 重新编译, 然后回到游戏看看您的修改!


==== Alternative : run-time attachment ====
==== 其他方法:运行时附加调试器 ====


# 从 Steam 启动 MOD
# 从 Steam 启动 MOD
# 在 Visual Studio 中, Main Menu > Debug > Attach to Process...
# 在 Visual Studio 中, 主菜单 > 调试|Debug > 附加到进程...|Attach to Process...
# 选择您的 MOD 名称的 hl2.exe 进程
# 选择您的 MOD 名称的 hl2.exe 进程
{{tip|您可以在窗口模式运行 : 添加 "-window" 参数到 run_mod.bat}}
{{tip|您可以在窗口模式运行 : 添加 "-window" 参数到 run_mod.bat}}
Line 54: Line 57:
== 链接 ==
== 链接 ==


掌握了这篇文档之后,建议去看看 [[Your First Entity|第一个实体]] 文档, 在那里您可以对一些源代码做修改.
掌握了这篇文档之后,建议去看看 [[Your First Entity|创建你的第一个实体]] 文档, 在那里您可以对一些源代码做修改.


如果您想要整合来自 Valve 的代码, 如果您需要代码备份(code backups)和修订历史, 请看看 [[Using Source Control with the Source SDK]] 文档.
如果您想要整合来自 Valve 的代码, 如果您需要代码备份(code backups)和修订历史, 请看看 [[Using Source Control with the Source SDK|在Source SDK中使用版本控制]] 文档.


{{otherlang:zh-cn}}
{{otherlang:zh-cn}}

Revision as of 22:33, 23 July 2010

这篇文章会告诉你安装和调试源代码的基本步骤.

一步一步慢慢来

运行 SDK 并创建一个 MOD

  1. 从 Steam 运行 Source SDK 接着选择 Create a Mod.
  2. 通常您可以在这里选择任何类型的 MOD, 但是在此教程中, 选择 Modify Half-Life 2 Single Player 选项,然后点击 Next.
  3. 在出现的对话框上方的输入框中, 输入您想要创建 MOD 的路径. 在此教程中假设您输入了 C:\MyMod.
  4. 在下方的输入框中, 输入您的 MOD 名称. 这将在您的 Steam安装路径\SteamApps\SourceMods 下创建一个以此命名的文件夹. 此教程假设您在这儿输入了 MyMod .
  5. 点击 Next 按钮,源代码就会被安装到您的硬盘中了.
  6. 等待 MOD 安装程序结束.

编译源代码

关于编译的一些建议请到这里 : 编译器的选择

更具体一些 :

Note.png注意:项目的默认编译配置为debug模式。为了让 MOD 以调试状态的 dll 运行,您必须在 Steam 的游戏列表中右键点击您的 MOD , 点击 属性 -> 设置启动选项 添加 -allowdebug 到 已存在的所有参数后面 (以空格分离)。你可以在配置管理器中切换到release模式(用于发行模组)。

目前代码在 VS2005 能够更好的编译. 您可以在这里下载: http://www.microsoft.com/express/2005/

VCE2005 用户需要下载 Windows SDK (Windows 2000 用户: Platform SDK). Visual Studio 和 VCE2008 用户不需要.

调试

设置调试参数

Note.png注意:这只会在您安装并运行了 Source SDK Base 之后起作用.
  1. 解决方案资源管理器窗口|Solution Explorer window, 右键点击当前项目 (用粗体标记的名称) 并选择 属性|Properties.
  2. 当属性对话框出现时, 选择左手边的调试选项.
  3. 在右手边 命令|Command 旁边的文本框中, 输入 C:\Steam\SteamApps\Username\source sdk base 2007\hl2.exe (根据您的 Steam 的安装目录调整这里的路径).
  4. 命令参数|Command Arguments 旁边输入 -dev -sw -game "C:\Steam\SteamApps\SourceMods\MyMod" (这里的 MyMod 是你在 Create a Mod 对话框中输入的名字).
  5. 工作目录|Working Directory 旁边输入 C:\Steam\SteamApps\Username\source sdk base 2007 (根据您的 Steam 的安装目录调整这里的路径).
  6. 点击 OK 按钮.
Note.png注意:如果你在上述选项中的路径含有空格,最好给路径加上双引号。例如: "C:\Steam\SteamApps\Username\team fortress 2\hl2.exe" 等等。如果不加双引号,或许也可以正常工作,但如果在调试时候遇到问题,可以尝试一下这个办法。
Note.png注意:如果你运行的是Half-Life 2: Episode One引擎,你可以用 source sdk base 代替 source sdk base 2007

在调试器中运行

  1. 重要步骤: 当 SDK 更新后, 您必须确定在调试器里运行游戏之前,至少已经 通过 Steam 运行了一次您编辑过的游戏 (只需要一次). 否则, 当您通过调试器运行的时候,您有可能会遇到 Steam 错误 .
  2. 右键点击刚才编辑过属性的工程, 选择 调试|Debug->启动新实例|Start New Instance.
  3. 如果您得到警告: hl2.exe 没有调试信息, 忽略它.
  4. 现在 Half-Life 2 应该会启动并且运行您的代码了. 您接下来就可以修改这些代码, 重新编译, 然后回到游戏看看您的修改!

其他方法:运行时附加调试器

  1. 从 Steam 启动 MOD
  2. 在 Visual Studio 中, 主菜单 > 调试|Debug > 附加到进程...|Attach to Process...
  3. 选择您的 MOD 名称的 hl2.exe 进程
Tip.png提示:您可以在窗口模式运行 : 添加 "-window" 参数到 run_mod.bat

链接

掌握了这篇文档之后,建议去看看 创建你的第一个实体 文档, 在那里您可以对一些源代码做修改.

如果您想要整合来自 Valve 的代码, 如果您需要代码备份(code backups)和修订历史, 请看看 在Source SDK中使用版本控制 文档.

Template:Otherlang:zh-cn