You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Adplus无法创建二次机会转储文件,疑因文件名含星号导致

解决Adplus二次机会转储因星号导致的创建失败问题

我之前也踩过Adplus这个坑!你推测的完全正确——Windows系统的文件名**不允许包含星号(*)**这种通配符,而Adplus默认生成的二次机会转储文件名里带了*,直接触发了Win32 123号错误(文件名/目录名语法不正确),导致转储文件创建失败。

下面给你几个可行的解决方案:

  • 修改Adplus配置文件自定义文件名模板
    找到WinDbg安装目录下的adplus.config配置文件,搜索和二次机会转储(SecondChance)相关的文件名配置段,把模板里的*替换成Windows允许的字符或Adplus支持的变量,比如进程ID({PID})、时间戳({TimeStamp})等。举个例子,把原来的违规模板:

    FULLDUMP_SecondChance_*_UnknownException_MyProcess.exe__8c40_2018-05-03_02-45-05-535_8b24.dmp
    

    修改为合法格式:

    FULLDUMP_SecondChance_{PID}_UnknownException_MyProcess.exe_{TimeStamp}.dmp
    

    保存配置后重新运行Adplus即可。

  • 通过命令行参数指定自定义模板(无需修改配置文件)
    启动Adplus时添加-dumpnametemplate参数,直接定义合法的文件名模板,比如:

    adplus -crash -pn MyProcess -o c:\temp -dumpnametemplate "FULLDUMP_SecondChance_{PID}_{Exception}_{TimeStamp}.dmp"
    

    Adplus支持的常用变量包括:

    • {PID}:目标进程的ID
    • {Exception}:触发转储的异常类型
    • {TimeStamp}:转储生成的时间戳
      这些变量都会生成合法的字符,不会出现违规的通配符。
  • 快速验证问题根源
    你可以手动在c:\temp下尝试创建一个带星号的文件,系统会直接弹出“文件名无效”的提示,这也能直观验证星号确实是导致转储失败的原因。

改完之后再测试,二次机会转储应该就能正常生成到指定目录了。

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

火山引擎 最新活动