ultimatepp/uppsrc/ide/Debuggers/GdbUtils.h
klugier 8f1a16b8b5 Gdb: 64-bit version of TheIDE can break 32-bit debugge process. #1892
git-svn-id: svn://ultimatepp.org/upp/trunk@12111 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2018-07-28 14:38:37 +00:00

42 lines
720 B
C++

#ifndef _ide_Debuggers_GdbUtils_h_
#define _ide_Debuggers_GdbUtils_h_
#include <Core/Core.h>
namespace Upp {
class IGdbUtils {
public:
virtual ~IGdbUtils() = default;
virtual String BreakRunning(int pid) = 0;
};
class GdbUtilsFactory final {
public:
One<IGdbUtils> Create();
};
#if defined(PLATFORM_WIN32)
class GdbWindowsUtils final : public IGdbUtils {
public: /* IGdbUtils */
String BreakRunning(int pid) override;
private:
bool Is64BitIde() const;
bool Is64BitProcess(HANDLE handle) const;
};
#elif defined(PLATFORM_POSIX)
class GdbPosixUtils final : public IGdbUtils {
public: /* IGdbUtils */
String BreakRunning(int pid) override;
};
#endif
}
#endif