Index: lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp
--- lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp.orig
+++ lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp
@@ -79,7 +79,7 @@ llvm::StringRef PlatformOpenBSD::GetPluginDescriptionS
 }
 
 void PlatformOpenBSD::Initialize() {
-  Platform::Initialize();
+  PlatformPOSIX::Initialize();
 
   if (g_initialize_count++ == 0) {
 #if defined(__OpenBSD__)
@@ -145,9 +145,13 @@ void PlatformOpenBSD::GetStatus(Stream &strm) {
 #endif
 }
 
-// OpenBSD processes cannot yet be launched by spawning and attaching.
 bool PlatformOpenBSD::CanDebugProcess() {
-  return false;
+	if (IsHost()) {
+		return true;
+	} else {
+		// If we're connected, we can debug.
+		return IsConnected();
+	}
 }
 
 void PlatformOpenBSD::CalculateTrapHandlerSymbolNames() {
@@ -167,4 +171,14 @@ MmapArgList PlatformOpenBSD::GetMmapArgumentList(const
 
   MmapArgList args({addr, length, prot, flags_platform, fd, offset});
   return args;
+}
+
+FileSpec PlatformOpenBSD::LocateExecutable(const char *basename) {
+
+  std::string check = std::string("/usr/bin/") + basename;
+  if (access(check.c_str(), X_OK) == 0) {
+    return FileSpec(check);
+  }
+
+  return FileSpec();
 }
