2012-02-29 79 views
2

设置环境变量时,Visual Studio 2010 Professional C++调试器出现了一个非常简单的问题。在C++中调试多个环境变量Microsoft Visual Studio 2010

详见
http://msdn.microsoft.com/en-en/library/kcw4dzyf.aspx
段落 “环境(本地Windows调试)”。

我创建了一个标准的Win32控制台项目。我设置在项目属性的环境→调试

TEST=asdf 
OTHER=qwer 

而且在_tmain打印环境变量(...):

cout << "Hello " << getenv("TEST") << endl; 

我期望的出像:

"Hello asdf" 

而是我总是得到:

"Hello asdf OTHER=qwer" 

如何解决这个问题?


这似乎是一个DEU版本的bug。

我刚刚提交了一份bug报告: https://connect.microsoft.com/VisualStudio/feedback/details/727324/msvs10-c-deu-debugger-environment-variables-missing-linefeed#details

+0

这不适合我 - 你使用VS 2010有没有SP1? (我正在使用SP1) – 2012-02-29 21:37:14

+0

获得了所有更新。所以这是SP1。版本10.0.40219.1 SP1Rel。我到目前为止已经在2台不同的个人电脑上对Professional和Ultimate进行测试。但总是DEU版。 – Donny 2012-02-29 21:44:13

+0

这些数据存储在'* .vcxproj.user'文件中 - 在那里查看并查看分隔字符串的内容 - 我的字符串之间有0x0a字符。 – 2012-02-29 21:46:03

回答

0

你需要的环境变量用分号或一些其他类型的分隔符分开?看起来好像TEST被分配到asdf OTHER=qwer,而不仅仅是asdf

+0

是的,“TEST”显然被分配到“asdf OTHER = qwer”。我测试了我可以成像的所有分隔符,但是他们都没有修复它。 – Donny 2012-02-29 21:17:00

0

遇到类似的问题,以编程方式提供此属性,我碰到了这个github file。分隔符为"&#xA;",格式为xml格式,也叫做换行符。使用Environment.Newline解决了网点中的问题。

在GUI中的交互模式下,您要单击编辑按钮并使用重新运行键来分割变量。

相关问题