支持一键调试
- Python2.7-3.15
- lua5.1-5.4
- Python函数性能分析
Vscode中的调试配置
- 打开vscode的launch.json调试配置文件,按如下参数添加启动和附加调试配置
{
"configurations": [
{
"name": "PyLuaDebugger:启动进程调试",
"request": "launch",
"runtimeArgs": "",
"runtimeExecutable": "${workspaceFolder}/Game.exe",
"catchLog": true,
"workDir": "",
"scriptPath": "",
"pathMap": [
"",
""
],
"extMap": [
"",
""
],
"env":{
"SetConsoleOutputCP":65001
},
"type": "PyLuaDebugger"
},
{
"name": "PyLuaDebugger:附加到进程调试",
"processId": "${command:pickProcess}",
"request": "attach",
"catchLog": true,
"scriptPath": "",
"pathMap": [
"",
""
],
"extMap": [
"",
""
],
"type": "PyLuaDebugger"
},
]
}
- 参数说明:
- runtimeExecutable:调试程序路径[可用完整路径,也可以用vscode工作目录的相对路径]
- runtimeArgs:启动调试进程时的启动参数
- catchLog:是否将进程的log输出到vscode中
- workDir:调试进程的工作目录
- scriptPath:脚本的根目录,对于进程中的脚本是使用相对路径,并且根目录不是workDir的,需要配置脚本的根目录,否则脚本断点可能无法命中
- pathMap:路径转换,例如:进程中编译后脚本路径是D:\,但是源码是在E:\,可以配置下面的路径转换,即可在源码中命中断点
"pathMap": [
"D:",
"E:"
],
- extMap:脚本扩展名转换,例如:脚本文件在游戏中的扩展名是.lua,但是在源码中的扩展名是.lua.txt。则可以做如下转换,即可以在lua.txt源码中命中断点
"extMap": [
"lua",
"lua.txt"
],
- SetConsoleOutputCP:用于配置启动调试进程时,命令行的codepage编码,调试进程输出乱码时,可以试一下这个配置
"env":{
"SetConsoleOutputCP":65001
},
在linux中远程调试
- 需要确保linux已经安装GDB
- vscode 需要安装Remote-SSH
- 在本地vscode 用Remote-SHH远程登陆要调试的机器
- 在远程端安装上本控件
- 剩下的调试操作就和本地vscode一样了
bug反馈