【发布时间】:2012-02-29 21:04:44
【问题描述】:
在设置环境变量时,我在使用 Visual Studio 2010 Professional C++ 调试器时遇到了一个非常简单的问题。
描述于
http://msdn.microsoft.com/en-en/library/kcw4dzyf.aspx
段落“环境(本地 Windows 调试器)”。
我创建了一个标准的 Win32 控制台项目。我在项目属性中设置环境 → Debugger:
TEST=asdf
OTHER=qwer
并在 _tmain(...) 中打印环境变量:
cout << "Hello " << getenv("TEST") << endl;
我希望得到这样的结果:
"Hello asdf"
但我总是得到:
"Hello asdf OTHER=qwer"
如何解决这个问题?!
这似乎是一个DEU版本的错误。
【问题讨论】:
-
这对我来说并不适用——您使用的是带或不带 SP1 的 VS 2010? (我使用的是 SP1)
-
获得所有更新。所以这是SP1。版本 10.0.40219.1 SP1Rel。到目前为止,我在 2 台不同的 PC 上对 Professional 和 Ultimate 进行了测试。但总是 DEU 版。
-
此数据存储在
*.vcxproj.user文件中 - 看看那里,看看是什么分隔了字符串 - 我的字符串之间有 0x0a 字符。 -
是的,换行是有道理的。它是:
BLA="asdf" BLO="asdfwqe" 没有分隔符。但如果我粘贴BLA="asdf"0x0aBLO="asdfwqe" 它不会做出改变。所以这是deu版本的错误? -
要清楚一点——“vcxproj.user”文件中有一个字节的数值为 0x0a(即,它是一个换行符),对吧?如果这是因为使用 DEU 版本而导致的错误,我会感到非常惊讶,但我想这是可能的。
标签: c++ debugging environment-variables visual-studio-2010