# Cocos2d-x 下斷點
使用LuaHelper
## LuaHelper
是騰訊開發的工具
支援unity的xlua slua ooxxlua外
也支援cocos2d-x的lua
## 下斷點設定步驟
* VSCode 開啟Inanna資料夾
* VSCode尋找插件尋找Lua並安裝
* 
* 生成launch.json
* 
* 調整一些參數
* 
* "distinguishSameNameFile": true
* 引入LuaPanda.lua文件
* ctrl + shift + p
* 
* LuaHelper: Copy debug file to workspace
* 將LuaPanda.lua放在proj.win32\Debug_Opt.win32\InannaLua下
* 修改PreLoad.lua
* 
* 插入require("InannaLua/LuaPanda").start("127.0.0.1",8818)
* 更新LuaPanda
* 
# 自動同步設定步驟
* VSCode尋找插件尋找Trigger Task on Save並安裝
* 新增這兩個檔案
* 
* [settings.json](#settings.json)
* [tasks.json](#tasks.json)
## 使用步驟
* VSCode 按 F5 開始監聽
* VS執行滿貫
* lua存檔後會自動同步
### 出處
https://github.com/Tencent/LuaHelper/blob/master/docs/manual/usedebug.md
## launch.json
```
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "LuaHelper-Debug",
"request": "launch",
"name": "LuaHelper-Attach",
"description": "通用模式,通常调试项目请选择此模式",
"cwd": "${workspaceFolder}",
"luaFileExtension": "lua",
"connectionPort": 8818,
"stopOnEntry": false,
"useCHook": false,
"autoPathMode": true,
"distinguishSameNameFile": true
},
{
"type": "LuaHelper-Debug",
"request": "launch",
"name": "LuaHelper-DebugFile",
"description": "独立文件调试模式",
"luaPath": "",
"packagePath": [],
"luaFileExtension": "",
"connectionPort": 8818,
"stopOnEntry": true,
"useCHook": true
}
]
}
```
# settings.json

```
{
"files.associations": {
"*.lua": "lua"
},
"C_Cpp.default.browse.limitSymbolsToIncludedHeaders": true,
"files.exclude": {
"**/*.cpp": true,
"**/*.obj": true,
"**/CocoStudioProject": true,
"**/Debug_Opt.win32": true,
"**/Debug_package.win32": true,
"**/Debug.win32": true,
"**/Inanna.xcodeproj": true,
"**/InannaResource": true,
"**/Inanna": true,
"**/include": true,
"**/release_Opt.win32": true,
"**/ThirdPartyLib": true,
"**/src": true,
"**/*.mk": true,
"**/*.vcxproj": true,
"**/*.sln": true,
"**/*.filters": true,
"**/*.user": true,
"**/*.h": true,
"Tools": true,
}
}
```
# tasks.json
```
{
"version": "2.0.0",
"tasks": [
{
"label": "Run Batch Script on Save",
"type": "shell",
"command": "./SyncFiles.bat",
"problemMatcher": [],
"runOptions": {
"runOn": "folderOpen"
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": true,
"panel": "shared"
}
}
]
}
```