You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windbg脚本执行.shell命令报错‘命令行过长’问题求助

Windbg脚本执行.shell命令出现“命令行过长”的解决办法

问题原因

在脚本里使用.shell -ci "*" mkdir C:\mydir时,-ci参数后的*是调试器命令通配符,会匹配当前行之后的所有脚本内容,导致Windbg把整个脚本的后续命令都打包传给cmd.exe,触发“命令行太长”的错误。从Process Monitor的日志也能看到,cmd收到的命令包含了.echo、注释等所有后续脚本内容。

解决方法

有两种简单的修复方式:

方式1:将*替换为空字符串

把.shell命令里的-ci "*"改成-ci "",这样调试器不会捕获后续脚本内容,只会执行当前的mkdir命令:

.echo *** before mkdir ***
.shell -ci "" mkdir C:\mydir
.echo *** after mkdir ***
$$ many other debugger commands saving stuff to c:\mydir...

方式2:省略-ci参数

如果不需要在shell命令执行后触发调试器命令,直接去掉-ci参数即可:

.echo *** before mkdir ***
.shell mkdir C:\mydir
.echo *** after mkdir ***
$$ many other debugger commands saving stuff to c:\mydir...

验证效果

修改后重新执行脚本,Process Monitor会显示cmd.exe仅收到mkdir C:\mydir单条命令,不会再附带后续脚本内容,也就不会出现命令行过长的错误。

内容的提问来源于stack exchange,提问作者Jonathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 04:33:16