【问题标题】:Debugger multiple environment variables in C++ Microsoft Visual Studio 2010在 C++ Microsoft Visual Studio 2010 中调试多个环境变量
【发布时间】: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版本的错误。

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

【问题讨论】:

  • 这对我来说并不适用——您使用的是带或不带 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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    目前最好的解决方案:

    考虑你的例子:

    TEST=asdf
    OTHER=qwer
    

    编辑.vcxproj&lt;Project&gt;内添加:

      <Project .... >
      ...
    
      <PropertyGroup Label="UserMacros">
      <TEST>asdf</TEST>
      <OTHER>qwer</OTHER>
      </PropertyGroup>
    
      ...
      </Project>
    

    您也可以根据需要将其添加到*.vcxproj.user*.props 文件中。

    【讨论】:

      【解决方案3】:

      您需要用分号或其他类型的分隔符分隔环境变量吗?似乎TEST 被分配给asdf OTHER=qwer,而不仅仅是asdf

      【讨论】:

      • 是的,“TEST”显然分配给“asdf OTHER=qwer”。我测试了所有我可以想象的分隔符,但没有一个能修复它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-28
      • 2011-03-04
      • 2011-11-17
      • 2015-02-18
      • 2015-07-09
      相关资源
      最近更新 更多