Fandom

武装突袭 Wiki

Debugging Techniques

简体 | 繁體

4,827个页面创建
于此维基上
添加新页面
评论0 Share

您使用了广告屏蔽软件!


Wikia通过广告运营为用户提供免费的服务。我们对用户通过嵌入广告屏蔽软件访问网站进行了使用调整。

如果您使用了广告屏蔽软件,将无法使用我们的服务。请您移除广告屏蔽软件,以确保页面正常加载。

Debugging techniques are ways in which developers can debug, or find out where errors or unexpected outcomes are occurring within their scripts. Several methods of debugging exist, however there is no debugging system as such available to developers similar to that which is found within an Integrated Development Environment or with other languages.

Debugging tools 编辑

RPT files 编辑

RPT files are the location where debug information is dumped to both by the Arma game and by any scripts that are running. For scripts which are running on a server, generally the file used is Arma2OAServer.RPT which has varying locations depending upon the type of server being run. For scripts which are running on a client, the Arma2.RPT or Arma2OA.RPT file will contain debug related information. The default locations for these files may vary, but should be based in the AppData folder in Windows 7 (C:\Users\User\AppData\Local\<Game Name>\).

Debug consoles 编辑

Like in other games, several debug consoles are available which have been developed by community members, to either display or list useful information, display or analyse bugs within code, to allow code execution, or a variety of these functions.

Arma: Cold War Assault 编辑

Arma: Armed Assault 编辑

  • Debug console made by Str. It's in form of addon and it's available in all singleplayer missions, intros and outros. Easy and simple to use (Escape-Enter execute).
  • TroopMon V 0.7 *Mission debugger - Complex debugging system providing lot of informations for mission-makers, escpecially about AI.

Arma 2 编辑

If you're at an advanced stage of a project, you can save the game when the bug appears and check the variable and script states with Chain of Command's Binary gamefile viewer.

Take On Helicopters 编辑

The game already features Debug Console in basic installation.

Arma 3 编辑

The game already features Debug Console in basic installation.

General debugging techniques 编辑

Addons 编辑

If you're working with an existing addon, or are developing one, repacking a PBO can be time-intensive, and can be replaced simply by creating a basic mission in the "Missions" or "MPmissions" (if your feature is multiplayer-specific) folder of your game installation, and then running the scenario or mission locally. The easiest way of accomplishing this is by the use of Event Scripts to run your code such as init.sqf. Once you have tested your code, using missions in this way, you can then sequentially pack your PBO when major changes have been made, rather than for each debug session of a script or piece of code.

Syntax checking and highlighting 编辑

Syntax errors can be a frequent occurrence when developing scripts. There are several methods of determining if the syntax is correct before running scripts; squint provides a fully-featured code editor which allows for syntax highlighting, displaying of errors and code correction. A simpler solution of code highlighting for Notepad++ is also available here, although errors will only be visible from the absence of highlighting.

Debugging specific sections of code 编辑

Although primitive, the use of diag_log and format can be used to debug the content of variables when entering them into functions. In the case that specific pieces of code do not run, or if specific if conditions don't appear to fire, debugging the contents of that specific variable with diag_log can be useful. As with all debugging, so long as the developer is methodical and logical in checking each section of code that runs, finding bugs and resolving them can be straightforward.

Keep it simple编辑

If you're having great difficulty solving a problem, simplify the problem, take the part of the mission which does not work, paste it into a new test mission so that you don't have to watch the effect of the rest of the script(s).

更多维基

随机维基