Add SharpDbg
This commit is contained in:
@@ -55,6 +55,7 @@
|
|||||||
<PackageVersion Include="ParallelPipelines" Version="3.0.0" />
|
<PackageVersion Include="ParallelPipelines" Version="3.0.0" />
|
||||||
<PackageVersion Include="Photino.Blazor" Version="4.0.13" />
|
<PackageVersion Include="Photino.Blazor" Version="4.0.13" />
|
||||||
<PackageVersion Include="R3" Version="1.3.0" />
|
<PackageVersion Include="R3" Version="1.3.0" />
|
||||||
|
<PackageVersion Include="SharpDbg" Version="0.1.0-preview1" />
|
||||||
<PackageVersion Include="xunit.v3.mtp-v2" Version="3.2.0" />
|
<PackageVersion Include="xunit.v3.mtp-v2" Version="3.2.0" />
|
||||||
<PackageVersion Include="XtermBlazor" Version="2.2.0" />
|
<PackageVersion Include="XtermBlazor" Version="2.2.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -68,4 +69,4 @@
|
|||||||
<PackageVersion Include="Microsoft.CodeAnalysis.ExternalAccess.Razor.Features" Version="5.3.0-1.25521.106" />
|
<PackageVersion Include="Microsoft.CodeAnalysis.ExternalAccess.Razor.Features" Version="5.3.0-1.25521.106" />
|
||||||
<PackageVersion Include="Microsoft.CodeAnalysis.Remote.ServiceHub" Version="5.3.0-1.25521.106" />
|
<PackageVersion Include="Microsoft.CodeAnalysis.Remote.ServiceHub" Version="5.3.0-1.25521.106" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using Ardalis.GuardClauses;
|
using Ardalis.GuardClauses;
|
||||||
|
using SharpDbg.InMemory;
|
||||||
using SharpIDE.Application.Features.Run;
|
using SharpIDE.Application.Features.Run;
|
||||||
|
|
||||||
namespace SharpIDE.Application.Features.Debugging;
|
namespace SharpIDE.Application.Features.Debugging;
|
||||||
@@ -9,6 +10,11 @@ public static class DebuggerProcessStreamHelper
|
|||||||
public static (Stream Input, Stream Output, bool IsNetCoreDbg) NewDebuggerProcessStreamsForInfo(DebuggerExecutableInfo? debuggerExecutableInfoNullable)
|
public static (Stream Input, Stream Output, bool IsNetCoreDbg) NewDebuggerProcessStreamsForInfo(DebuggerExecutableInfo? debuggerExecutableInfoNullable)
|
||||||
{
|
{
|
||||||
if (debuggerExecutableInfoNullable is not {} debuggerExecutableInfo) throw new ArgumentNullException(nameof(debuggerExecutableInfoNullable), "Debugger executable info cannot be null.");
|
if (debuggerExecutableInfoNullable is not {} debuggerExecutableInfo) throw new ArgumentNullException(nameof(debuggerExecutableInfoNullable), "Debugger executable info cannot be null.");
|
||||||
|
if (debuggerExecutableInfo.UseInMemorySharpDbg)
|
||||||
|
{
|
||||||
|
var (input, output) = SharpDbgInMemory.NewDebugAdapterStreams();
|
||||||
|
return (input, output, false);
|
||||||
|
}
|
||||||
var debuggerExecutablePath = debuggerExecutableInfo.DebuggerExecutablePath;
|
var debuggerExecutablePath = debuggerExecutableInfo.DebuggerExecutablePath;
|
||||||
Guard.Against.NullOrWhiteSpace(debuggerExecutablePath, nameof(debuggerExecutablePath), "Debugger executable path cannot be null or empty.");
|
Guard.Against.NullOrWhiteSpace(debuggerExecutablePath, nameof(debuggerExecutablePath), "Debugger executable path cannot be null or empty.");
|
||||||
var isNetCoreDbg = Path.GetFileNameWithoutExtension(debuggerExecutablePath).Equals("netcoredbg", StringComparison.OrdinalIgnoreCase);
|
var isNetCoreDbg = Path.GetFileNameWithoutExtension(debuggerExecutablePath).Equals("netcoredbg", StringComparison.OrdinalIgnoreCase);
|
||||||
|
|||||||
@@ -61,6 +61,7 @@
|
|||||||
<PackageReference Include="NuGet.Protocol" />
|
<PackageReference Include="NuGet.Protocol" />
|
||||||
<PackageReference Include="ObservableCollections" />
|
<PackageReference Include="ObservableCollections" />
|
||||||
<PackageReference Include="R3" />
|
<PackageReference Include="R3" />
|
||||||
|
<PackageReference Include="SharpDbg" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user