You've already forked Sonarr
mirror of
https://github.com/Sonarr/Sonarr.git
synced 2025-11-06 09:19:38 +02:00
Attach to debugger is a lot more reliable.
Added system/config ui rss job only runs enabled jobs fixed wrong mappings for indexers in settingscontroller
This commit is contained in:
@@ -10,31 +10,27 @@ using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using EnvDTE;
|
||||
using EnvDTE80;
|
||||
using NLog;
|
||||
using Thread = System.Threading.Thread;
|
||||
|
||||
namespace NzbDrone
|
||||
{
|
||||
public class ProcessAttacher
|
||||
{
|
||||
|
||||
private static readonly Logger Logger = LogManager.GetLogger("Application");
|
||||
|
||||
|
||||
public static void Attach()
|
||||
{
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
DTE2 dte2;
|
||||
dte2 = (DTE2)Marshal.
|
||||
GetActiveObject("VisualStudio.DTE.10.0");
|
||||
DTE2 dte2;
|
||||
dte2 = (DTE2)Marshal.
|
||||
GetActiveObject("VisualStudio.DTE.10.0");
|
||||
|
||||
var pa = new ProcessAttacher(dte2, "iisexpress", 10);
|
||||
pa.PessimisticAttachManaged();
|
||||
return;
|
||||
|
||||
var pa = new ProcessAttacher(dte2, "iisexpress", 10);
|
||||
pa.PessimisticAttachManaged();
|
||||
return;
|
||||
}
|
||||
catch
|
||||
{
|
||||
Thread.Sleep(500);
|
||||
}
|
||||
}
|
||||
// Get an instance of the currently running Visual Studio IDE.
|
||||
|
||||
}
|
||||
|
||||
@@ -30,22 +30,16 @@ namespace NzbDrone
|
||||
IISController.StopServer();
|
||||
IISController.StartServer();
|
||||
|
||||
Process.Start(IISController.AppUrl);
|
||||
|
||||
|
||||
#if DEBUG
|
||||
//Manually Attach debugger to IISExpress
|
||||
if (Debugger.IsAttached)
|
||||
{
|
||||
try
|
||||
{
|
||||
ProcessAttacher.Attach();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logger.Warn("Unable to attach to debugger", e);
|
||||
}
|
||||
}
|
||||
Attach();
|
||||
#endif
|
||||
|
||||
Process.Start(IISController.AppUrl);
|
||||
|
||||
IISController.IISProcess.WaitForExit();
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -54,6 +48,38 @@ namespace NzbDrone
|
||||
|
||||
}
|
||||
|
||||
private static void Attach()
|
||||
{
|
||||
if (Debugger.IsAttached)
|
||||
{
|
||||
Logger.Info("Trying to attach to debugger");
|
||||
|
||||
var count = 0;
|
||||
|
||||
while (true)
|
||||
{
|
||||
try
|
||||
{
|
||||
ProcessAttacher.Attach();
|
||||
Logger.Info("Debugger Attached");
|
||||
return;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
count++;
|
||||
if (count > 20)
|
||||
{
|
||||
Logger.WarnException("Unable to attach to debugger", e);
|
||||
return;
|
||||
}
|
||||
|
||||
Thread.Sleep(100);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void AppDomainException(object excepion)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user