gpt4 book ai didi

c++ - exe 上的字符串命令显示太多

转载 作者:行者123 更新时间:2023-11-28 07:05:05 25 4
gpt4 key购买 nike

我在 VC++ 2010 Express 中创建了一个应用程序,我想看看搜索字符串会显示有关我的可执行文件的什么信息。我按预期看到了很多字符串,但引起我注意的是我看到了 VS 为每个项目生成的 .pdb 文件的确切位置。

C:\Users\...\myapp\Debug\myapp.pdb

那个真的让我很困扰,因为我认为不应该透露这么多信息(例如我的用户名)。除此之外,我还看到了很多错误消息,例如

Stack memory around _alloca was corrupted 
A local variable was used before it was initialized
Stack memory was corrupted
A cast to a smaller data type has caused a loss of data. If this was intentional, you should mask the source of the cast with the appropriate bitmask. For example:
char c = (i & 0xFF);
Changing the code in this way will not affect the quality of the resulting optimized code.
The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
Stack around the variable ' ' was corrupted.
The variable ' ' is being used without being initialized.

我真的不明白为什么他们会出现(我的程序运行良好,但都不适用)但我想我可以接受。我的问题是如何避免出现这种数据(尤其是我所说的 pdb 位置)?我尝试在项目属性中找到一些东西但没有成功。

最佳答案

您需要的第一个选项是 /PDBALTPATH:%_PDB% - 这会保留 PDB 名称但会删除其路径。

错误消息是由默认选项 /GS/RTC 引起的。不过,后者不是发布版本的默认设置。 /GS- 会关闭第一个,但这是一个安全风险。

关于c++ - exe 上的字符串命令显示太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21881367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com