golang远程调试 vscode+dlv

作者:matrix 发布时间:2023 年 12 月 31 日 分类:Golang

远程环境可能会有远程调试需求,比如白名单访问限制等情况

要让本地环境调试远程环境数据,本地代码和远程环境执行代码必须保持一致

安装dlv

远程服务器环境安装 dlv

$ go  install github.com/go-delve/delve/cmd/dlv@latest

查看已安装dlv版本

$ dlv version
Delve Debugger
Version: 1.21.0
Build: $Id: fec0d226b2c2cce1567d5f59169660cf61dc1efe 

启动dlv服务

方法a. 监听已启动进程

$ dlv attach 28122  --listen=:8669 --headless --api-version=2 --log

28122 为已启动进程id
8669 为dlv开启的监听端口

方法b. 通过dlv直接启动指定bin文件

$ dlv  exec   --listen=:8669 --headless --api-version=2 --log  ./main-hhtjim

8669 为dlv开启的监听端口
main-hhtjim 为打包的bin文件

方法c. dlv直接启动并且监听

$ dlv debug --listen=:8669 --headless --api-version=2 --log

8669 为dlv开启的监听端口

本地vscode启动debug

本地配置 .vscode/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": [
    {
      "name": "Launch Remote",
      "type": "go",
      "request": "attach",
      "mode": "remote",
      "remotePath": "/home/work/demo-go/", //项目远程根路径
      "port": 8669, //监听端口
      "host": "www.hhtjim.com", //远程主机/IP
      "cwd": "${workspaceFolder}",//vscode本地工作目录
      "trace": "verbose" //输出详情
     }
  ]
}

销毁dlv监听

调试环境不使用之后切记销毁,dlv目前无身份校验!

局域网游戏串流工具 parsec

作者:matrix 发布时间:2023 年 12 月 5 日 分类:零零星星

Parsec

https://Parsec.app/

Parsec是专门针对游戏玩家的远程桌面工具,有很好的低延迟体验。
我用Parsec的Mac端连接PC端来远程玩游戏,完全可替代微软的Microsoft Remote Desktop。MRD虽然可以稍微优化下网络延迟($ sysctl net.inet.tcp.delayed_ack=0),但是效果还是差强人意,MRD远程时拖拽窗口和游戏的高频操作依然能感受到明显延迟。不过MRD在作为办公远程方面还是不错的,毕竟什么粘贴复制那些还是方便。

注册

登录注册需要有外网访问能力,免费版本的个人使用完全够用。

https://dash.parsec.app/signup/

按照官网提示流程操作即可,这里不打算手把手截图了

安装

widnows: https://builds.parsec.app/package/parsec-windows.exe

mac: https://builds.parsec.app/package/parsec-macos.pkg

软件安装后需要重启,如果没接显示器内部会虚拟出显示器,然后GPU压缩视频流P2P传输数据

登录

mac控制端,Windows被控端 各自登录同一个账号。如果出现登录-800的错误码则是网络问题,你需要自己配置代理

Parsec代理配置文件路径:

#Windows
#Per User installation 方式: 
%appdata%\Parsec\config.txt

#Shared installation 方式: 
%programdata%\Parsec\config.txt

# macOS / Linux / Raspberry Pi
~/.parsec/config.txt

config.txt代理配置内容

# 代理地址
app_proxy_address = 127.0.0.1
# 代理协议 http / https
app_proxy_scheme = http
app_proxy = true
# 代理端口
app_proxy_port = 1087

官方代理配置参考:
https://support.parsec.app/hc/en-us/articles/5805484240269-Configure-App-Level-HTTP-Proxy

远程

打开被控端,本地主机Computers下面出现当前机器名称。点击分享Share后复制链接到 mac控制端浏览器,打开后点击连接就可以了

游戏体验很跟手~

参考:

https://zhuanlan.zhihu.com/p/557637085

https://www.bilibili.com/read/cv16988873/

https://www.pjkui.com/98/title/macOS使用windows远程桌面RDP反应速度很慢解决方案