在调试器中查看重复的命名全局变量?

时间:2017-08-16 21:20:06

标签: c++ debugging visual-studio-2015

我有2个文件,包含以下简单代码。

Linkertest.cpp

#include "stdafx.h"
#include "Foobar.h"

char x = 5;
char y = 5;

int main()
{
    ChangeX();
    x = 'a';
    return 0;
}

和Foobar.cpp

#include "stdafx.h"

int x;

void ChangeX()
{
    x = -1;
}

foobar.h中

#pragma once

extern void ChangeX();

在Visual Studio 2015调试器中执行此代码时,调试器窗口选择显示 int x 的值; (忽略 char x )。 (我知道这不是一件好事)。看一下反汇编(和映射文件),我可以看到链接器正确地给了int x和char x单独的内存分配,并正确地写入它们。有没有人知道让调试器显示char x值的方法?

由于

1 个答案:

答案 0 :(得分:1)

我使用VS2015和VS2017进行测试。

VS2015确实存在这个问题:

enter image description here

但它现在在VS2017中效果很好:

enter image description here

所以对于这个问题,如果可能的话,我建议你使用VS2017版本。

当然,如果您只需使用VS2015,您也可以在此处报告此反馈:

https://connect.microsoft.com/VisualStudio/feedback/CreateFeedback.aspx