2019-07-16 08:43:32 -04:00
|
|
|
// Copyright 2011-2019 Molecular Matters GmbH, all rights reserved.
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "LC_Types.h"
|
2019-07-16 08:45:13 -04:00
|
|
|
#include "VisualStudioDTE.h"
|
2019-07-16 08:43:32 -04:00
|
|
|
|
2019-07-16 08:45:13 -04:00
|
|
|
#if WITH_VISUALSTUDIO_DTE
|
2019-07-16 08:44:38 -04:00
|
|
|
|
2019-07-16 08:43:32 -04:00
|
|
|
namespace visualStudio
|
|
|
|
|
{
|
|
|
|
|
void Startup(void);
|
|
|
|
|
void Shutdown(void);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Finds a Visual Studio debugger instance currently attached to the process with the given ID
|
|
|
|
|
EnvDTE::DebuggerPtr FindDebuggerAttachedToProcess(unsigned int processId);
|
|
|
|
|
|
|
|
|
|
// Finds a Visual Studio debugger instance currently debugging the process with the given ID
|
|
|
|
|
EnvDTE::DebuggerPtr FindDebuggerForProcess(unsigned int processId);
|
|
|
|
|
|
|
|
|
|
// Attaches a Visual Studio debugger instance to the process with the given ID
|
|
|
|
|
bool AttachToProcess(const EnvDTE::DebuggerPtr& debugger, unsigned int processId);
|
|
|
|
|
|
|
|
|
|
// Enumerates all threads of a debugger instance
|
|
|
|
|
types::vector<EnvDTE::ThreadPtr> EnumerateThreads(const EnvDTE::DebuggerPtr& debugger);
|
|
|
|
|
|
|
|
|
|
// Freezes all given threads
|
|
|
|
|
bool FreezeThreads(const EnvDTE::DebuggerPtr& debugger, const types::vector<EnvDTE::ThreadPtr>& threads);
|
|
|
|
|
|
|
|
|
|
// Freezes a single thread with the given thread ID
|
|
|
|
|
bool FreezeThread(const EnvDTE::DebuggerPtr& debugger, const types::vector<EnvDTE::ThreadPtr>& threads, unsigned int threadId);
|
|
|
|
|
|
|
|
|
|
// Thaws all given threads
|
|
|
|
|
bool ThawThreads(const EnvDTE::DebuggerPtr& debugger, const types::vector<EnvDTE::ThreadPtr>& threads);
|
|
|
|
|
|
|
|
|
|
// Thaws a single thread with the given thread ID
|
|
|
|
|
bool ThawThread(const EnvDTE::DebuggerPtr& debugger, const types::vector<EnvDTE::ThreadPtr>& threads, unsigned int threadId);
|
|
|
|
|
|
|
|
|
|
// Resumes the process in the debugger
|
|
|
|
|
bool Resume(const EnvDTE::DebuggerPtr& debugger);
|
|
|
|
|
|
|
|
|
|
// Breaks the process in the debugger
|
|
|
|
|
bool Break(const EnvDTE::DebuggerPtr& debugger);
|
|
|
|
|
}
|
2019-07-16 08:44:38 -04:00
|
|
|
|
|
|
|
|
#endif
|