#service #debugging #windows #msvsmon

app verboten

用于以危险模式启动 msvsmon 的服务包装器

2 个版本

0.9.2 2021 年 5 月 3 日
0.9.1 2021 年 3 月 15 日
0.9.0 2021 年 3 月 7 日

#1850 in 开发工具

0BSD 许可证

29KB
750 代码行

verboten

如果您在登录之前(在开发凭证提供者、Lsa 模块等时)需要将调试器附加到进程,您可能已经使用了基于 msvsmon-as-service 和 Visual Studio 的远程调试。

将 msvsmon 设置为服务可能有点麻烦。这个 crate 是一个简单的 msvsmon 服务包装器。它旨在最大限度地简化使用。不幸的是,这也意味着它非常不安全。仅在隔离的机器上运行此程序。

安装

从 crates.io 构建 verboten

cargo install verboten

.. 或者从仓库构建

cargo build --release

(它将静态链接 CRT,因此如果您不需要其他原因使用 vcredist,无需担心它)。

将 verboten.exe 复制到远程系统。它的位置并不重要。

msvsmon.exe 和其依赖项复制到远程系统。

在远程系统上,使用以下命令安装服务

verboten.exe --install <path and name of msvsmon.exe> <service name>

示例

verboten.exe --install C:\Temp\x64\msvsmon.exe verboten

安装程序将在服务的注册表子键下创建一个 Parameters 子键,其中包含一些有用的设置,特别是

LogLevel 可以设置为 errorwarninfodebugtrace。 (警告:一些高级别非常冗余)。

Timeout 可以设置 msvsmon 进程在自我终止前的存活时间。

服务将日志输出到 Windows 事件日志。

依赖项

~1–2.3MB
~43K SLoC