Отладка exe-файла C++ из запускаемого проекта C#C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Отладка exe-файла C++ из запускаемого проекта C#

Сообщение Anonymous »

В моем решении VS есть следующая настройка:
  • Проект статической библиотеки C++ (Core)
  • Проект C++ exe (редактор, ссылки Core)
  • Проект общей библиотеки C# net8.0 (проект)
Я хочу, чтобы «Проект» был установлен в качестве запускаемого проекта, но когда он будет запустить, фактически запустить Editor.exe, и точки останова будут работать во всех трех проектах.
В обоих проектах C++ у меня установлен отладчик «Смешанный» (.Net Core). Ниже приведены некоторые важные моменты в моей предварительной конфигурации для обоих:

Код: Выделить всё

filter "configurations:Debug or configurations:Editor"
runtime "Debug"
defines {
"ENABLE_MIXED_MODE_DEBUG",
"_DEBUG"
}
symbols "Full"
optimize "Off"
editandcontinue "Off"
debuggertype "NativeWithManagedCore"
justmycode "Off"
symbolspath "$(OutDir)$(TargetName).pdb"

flags {
"MultiProcessorCompile",
"NoIncrementalLink"
}
В проекте C# Editor.exe настроен как путь к исполняемому файлу для запуска в моих профилях запуска, включена отладка собственного кода и включен небезопасный код. Настройки запуска выглядят так:

Код: Выделить всё

{
"profiles": {
"Mixed Debug": {
"commandName": "Executable",
"workingDirectory": "PATH_TO_EDITOR",
"executablePath": "PATH_TO_EDITOR/Editor.exe",

"nativeDebugging": true,
"symbolLoadInfo": {
"loadAllSymbols": true,
"searchPaths": [
"PATH_TO_EDITOR",
"PATH_TO_CORE"
]
}
}
}
}
(И Core, и Editor правильно создают PDB)
Несколько важных фрагментов из файла предварительного макета проекта:

Код: Выделить всё

symbols "Full"
clr "Unsafe"
location("../")

editandcontinue "Off"
justmycode "Off"
debuggertype "NativeWithManagedCore"

-- These two are probably not needed due to the launch profile.
debugcommand(PATH_TO_EDITOR/Editor.exe)
debugdir(PATH_TO_EDITOR)

filter "configurations:Debug or configurations:Editor"
optimize "Off"
defines { "DEBUG", "TRACE", "ENABLE_MIXED_MODE_DEBUG" }
В результате всего этого это не работает. Если я даже просто запущу проект редактора напрямую, точки останова не будут затронуты, если для типа отладчика установлено значение «Смешанный» (Net Core). Окно модулей отладчика просто будет пустым. Если я снова переключаю тип отладчика на автоматический, проекты Editor и Core прерываются нормально.
Однако, если я устанавливаю Project в качестве запускаемого проекта, независимо от типа отладчика Engine и Core если установлено значение, точки останова не будут работать, окно модулей будет пустым, и если я попытаюсь прервать выполнение, нажав кнопку паузы, я получу ошибку «Невозможно прервать выполнение. Отладчик не может остановить этот процесс». поскольку никакой CLR не было загружено".

Подробнее здесь: https://stackoverflow.com/questions/793 ... up-project
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Отладка exe-файла C++ из запускаемого проекта C#
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Отладка exe-файла C++ из запускаемого проекта C#
    Anonymous » » в форуме C++
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Отладка exe-файла C++ из запускаемого проекта C#
    Anonymous » » в форуме C++
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Можете ли вы заставить Visual Studio запускать веб-браузер для запускаемого проекта Microsoft.NET.Sdk.Worker?
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как создать exe-файл из файла Python, который, в свою очередь, компилирует программу C++ и выполняет этот exe-файл
    Anonymous » » в форуме C++
    0 Ответы
    108 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»