Я пытаюсь написать пакет Visual Studio, который будет прикреплять отладчик к именованному процессу.Присоединение к процессу в пакете Visual Studio
Я использую следующий код в своем пакете.
var info = new VsDebugTargetInfo
{
dlo = DEBUG_LAUNCH_OPERATION.DLO_AlreadyRunning,
bstrExe = strProcessName,
bstrCurDir = "c:\\",
bstrArg = "",
bstrEnv = "",
bstrOptions = null,
bstrPortName = null,
bstrMdmRegisteredName = null,
bstrRemoteMachine = "",
cbSize = (uint)System.Runtime.InteropServices.Marshal.SizeOf<VsDebugTargetInfo>(),
grfLaunch = (uint)(__VSDBGLAUNCHFLAGS.DBGLAUNCH_DetachOnStop| __VSDBGLAUNCHFLAGS.DBGLAUNCH_StopDebuggingOnEnd| __VSDBGLAUNCHFLAGS.DBGLAUNCH_WaitForAttachComplete),
fSendStdoutToOutputWindow = 1,
clsidCustom = VSConstants.CLSID_ComPlusOnlyDebugEngine
};
VsShellUtilities.LaunchDebugger(ServiceProvider, info);
Однако я получаю, бесполезную, ошибка:
Exception : Unable to attach. Operation not supported. Unknown error: 0x80070057.
код, очевидно, что-то делать, потому что, если процесс еще не начался, я получаю эту ошибку
Exception : Unable to attach. Process 'xxxxxxxx' is not running on 'xxxxxxxx'.
Процесс это управляемый процесс .net 4, и я могу подключиться к нему через VS UI.
Для контекста Я пытаюсь заменить простой макрос, который я использовал в VS 2010, чтобы выполнить ту же работу, но это явно не может быть запущено в более новых версиях Visual Studio.
Чтобы продолжить использовать свой макрос в новом VS, вы можете попробовать Visual Commander https://visualstudiogallery.msdn.microsoft.com/deda8ac1-75e6-4068-89ab-b607cee38f2d –
Спасибо, после небольшого изменения настроек Visual Commander для запуска моего оригинального макроса, однако мне все еще интересно узнать, как исправить исходную проблему, поскольку я хотел бы построить собственное расширение. –