Отладка в смешанном режиме

2

Обновление: после более глубокого копирования это, похоже, проблема со статическими методами и переменными-членами. Я нашел этот пост на форумах MSDN, но ответа не было.

Я пишу приложение С# WinForms (.Net 2.0) с dll смешанного режима в одном и том же решении. Когда я вхожу в собственный код во время отладки, я не могу "наблюдать" многие переменные указателя. Это кажется странным поведением, потому что некоторые указатели доступны (я думаю, это слово:))

например:

Connection* Connection::Instance()
{
    if (innerConnection == NULL)
    {
        innerConnection = new Connection();
    }

    return innerConnection;
}

При переходе через этот метод innerConnection недоступен для меня. Значение для этого в окне часов - "ошибка: идентификатор" innerConnection "вне сферы действия". Внутреннее соединение не должно выходить за рамки.

Также в этом примере в окне "Авто" "this" есть

Проект С# задается как проект запуска и ссылается на проект dll С++ (все в том же решении). Я включил встроенную отладку в проекте С# и установил режим отладки в Auto в проекте С++/CLI. Я использую Visual Studio 2005

Теги:
scope
debugging
c++-cli
visual-studio-2005

1 ответ

2

В моем случае (родная EXE → смешанная DLL → управляемая сборка (все Visual Studio 2008)) мне пришлось установить режим отладки исполняемого файла на "Смешанный". При настройке по умолчанию "Авто" я не мог войти в управляемую сборку.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню