本文整理汇总了C#中CorFrame类的典型用法代码示例。如果您正苦于以下问题:C# CorFrame类的具体用法?C# CorFrame怎么用?C# CorFrame使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
CorFrame类属于命名空间,在下文中一共展示了CorFrame类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GoTo
public static bool GoTo(IFileTabManager fileTabManager, IModuleLoader moduleLoader, CorFrame frame, bool newTab) {
if (GoToIL(fileTabManager, moduleLoader, frame, newTab))
return true;
//TODO: eg. native frame or internal frame
return false;
}
示例2: GoTo
public static bool GoTo(IModuleIdProvider moduleIdProvider, IDocumentTabService documentTabService, IModuleLoader moduleLoader, CorFrame frame, bool newTab) {
if (GoToIL(moduleIdProvider, documentTabService, moduleLoader, frame, newTab))
return true;
//TODO: eg. native frame or internal frame
return false;
}
示例3: GoTo
public static bool GoTo(CorFrame frame, bool newTab) {
if (GoToIL(frame, newTab))
return true;
//TODO: eg. native frame or internal frame
return false;
}
示例4: CanGoToDisasm
public static bool CanGoToDisasm(CorFrame frame) {
if (frame == null)
return false;
if (!frame.IsNativeFrame)
return false;
return false;//TODO:
}
示例5: GoToIL
public static bool GoToIL(CorFrame frame, bool newTab) {
if (!CanGoToIL(frame))
return false;
var func = frame.Function;
if (func == null)
return false;
return DebugUtils.GoToIL(ModuleLoader.Instance.LoadModule(func.Module, true), frame.Token, frame.GetILOffset(), newTab);
}
示例6: GoToIL
public static bool GoToIL(IFileTabManager fileTabManager, IModuleLoader moduleLoader, CorFrame frame, bool newTab) {
if (!CanGoToIL(frame))
return false;
var func = frame.Function;
if (func == null)
return false;
return DebugUtils.GoToIL(fileTabManager, moduleLoader.LoadModule(func.Module, true), frame.Token, frame.GetILOffset(moduleLoader), newTab);
}
示例7: ValueContext
public ValueContext(ILocalsOwner localsOwner, CorFrame frame, DnThread thread) {
this.LocalsOwner = localsOwner;
this.Thread = thread;
this.Process = thread.Process;
// Read everything immediately since the frame will be neutered when Continue() is called
this.FrameCouldBeNeutered = frame;
frame.GetTypeAndMethodGenericParameters(out genericTypeArguments, out genericMethodArguments);
this.Function = frame.Function;
}
示例8: GoToIL
public static bool GoToIL(IModuleIdProvider moduleIdProvider, IDocumentTabService documentTabService, IModuleLoader moduleLoader, CorFrame frame, bool newTab) {
if (!CanGoToIL(frame))
return false;
var func = frame.Function;
if (func == null)
return false;
return DebugUtils.GoToIL(moduleIdProvider, documentTabService, moduleLoader.LoadModule(func.Module, canLoadDynFile: true, isAutoLoaded: true), frame.Token, frame.GetILOffset(moduleLoader), newTab);
}
示例9: ValueContext
public ValueContext(ILocalsOwner localsOwner, CorFrame frame, DnThread thread, IList<CorType> genericTypeArguments) {
this.LocalsOwner = localsOwner;
this.Thread = thread;
this.Process = thread.Process;
// Read everything immediately since the frame will be neutered when Continue() is called
this.FrameCouldBeNeutered = frame;
this.genericTypeArguments = genericTypeArguments;
this.genericMethodArguments = new CorType[0];
this.Function = frame == null ? null : frame.Function;
}
示例10: CanGoToIL
public static bool CanGoToIL(CorFrame frame) {
if (frame == null)
return false;
if (!frame.IsILFrame)
return false;
var ip = frame.ILFrameIP;
if (!ip.IsExact && !ip.IsApproximate && !ip.IsProlog && !ip.IsEpilog)
return false;
if (frame.Token == 0)
return false;
return true;
}
示例11: GetRunToCallee
CorFrame GetRunToCallee(CorFrame frame)
{
if (!CanStep(frame))
return null;
if (frame == null)
return null;
if (!frame.IsILFrame)
return null;
var callee = frame.Callee;
if (callee == null)
return null;
if (!callee.IsILFrame)
return null;
return callee;
}
示例12: CreateStepper
CorStepper CreateStepper(CorFrame frame)
{
if (frame == null)
return null;
var stepper = frame.CreateStepper();
if (stepper == null)
return null;
if (!stepper.SetInterceptMask(debugOptions.StepperInterceptMask))
return null;
if (!stepper.SetUnmappedStopMask(debugOptions.StepperUnmappedStopMask))
return null;
if (!stepper.SetJMC(debugOptions.StepperJMC))
return null;
return stepper;
}
示例13: GetCodeLocation
CodeLocation? GetCodeLocation(CorFrame frame)
{
if (ProcessState != DebuggerProcessState.Stopped)
return null;
if (frame == null)
return null;
var sma = frame.GetSerializedDnModuleWithAssembly();
if (sma == null)
return null;
uint token = frame.Token;
if (token == 0)
return null;
return new CodeLocation(sma.Value, token, frame.GetILOffset(), frame.ILFrameIP.Mapping);
}
示例14: CreateMethodKey
static MethodKey? CreateMethodKey(DnDebugger debugger, CorFrame frame)
{
var sma = frame.GetSerializedDnModuleWithAssembly();
if (sma == null)
return null;
return MethodKey.Create(frame.Token, sma.Value.Module);
}
示例15: UpdateCurrentLocation
internal void UpdateCurrentLocation(CorFrame frame)
{
var newLoc = GetCodeLocation(frame);
if (currentLocation == null || newLoc == null) {
currentLocation = newLoc;
UpdateCurrentMethod();
return;
}
if (!CodeLocation.SameMethod(currentLocation.Value, newLoc.Value)) {
currentLocation = newLoc;
UpdateCurrentMethod();
return;
}
currentLocation = newLoc;
}