0

当 WPF .net 4.0 exe 的文件名超过 47(包括 .exe 扩展名的 51)时,我们遇到了这种情况,该 exe 无法正常工作。它只是说停止工作。

即使我们将文件放在 c:\ 侧,问题仍然存在,这意味着这不是 Windows 限制。

任何人都遇到过这样的情况。

通过使用缩写重命名 exe 文件解决了该问题。但是想知道为什么会这样。

在此先感谢喜悦


来自评论

它是正常的停止工作对话框。在问题详细信息中它说:

问题签名:问题事件名称:BEX 应用程序名称:ABCEDFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUV.exe 应用程序版本:1.0.0.0 应用程序时间戳:50e559e0 故障模块名称:igdumd32.dll 故障模块版本:8.15.10.1995 故障模块时间戳:4af4b4e4 异常偏移量:00014fe6 异常代码: c0000409 异常数据:00000000 操作系统版本:6.1.7601.2.1.0.256.4 区域设置 ID:1033 附加信息 1:1d75 附加信息 2:1d7537ede8bee0a1d08a5f0d2036cc52

4

1 回答 1

1

这是 igdumd32.dll 中的堆栈缓冲区溢出。恭喜。您刚刚发现英特尔在编写良好的安全代码方面很糟糕。

除了您的显卡供应商有助于将英特尔图形加速器 dll 插入您的进程并在您为其提供长模块名称时堆栈溢出这一事实之外,WPF 文件名的长度没有限制,除了通常MAX_PATH 的 Windows 限制。

于 2013-02-12T04:41:02.563 回答