public override bool TryGetNativeCode(DbgStackFrame frame, DbgNativeCodeOptions options, out GetNativeCodeResult result)
        {
            if (frame == null)
            {
                throw new ArgumentNullException(nameof(frame));
            }

            foreach (var provider in GetProviders(frame.Runtime))
            {
                if (provider.TryGetNativeCode(frame, options, out result))
                {
                    return(true);
                }
            }

            result = default;
            return(false);
        }
        public override bool TryGetNativeCode(DbgRuntime runtime, DbgCodeLocation location, DbgNativeCodeOptions options, out GetNativeCodeResult result)
        {
            if (runtime == null)
            {
                throw new ArgumentNullException(nameof(runtime));
            }
            if (location == null)
            {
                throw new ArgumentNullException(nameof(location));
            }

            foreach (var provider in GetProviders(runtime))
            {
                if (provider.TryGetNativeCode(runtime, location, options, out result))
                {
                    return(true);
                }
            }

            result = default;
            return(false);
        }
        public override bool TryGetNativeCode(DbgBoundCodeBreakpoint boundBreakpoint, DbgNativeCodeOptions options, out GetNativeCodeResult result)
        {
            if (boundBreakpoint == null)
            {
                throw new ArgumentNullException(nameof(boundBreakpoint));
            }

            foreach (var provider in GetProviders(boundBreakpoint.Runtime))
            {
                if (provider.TryGetNativeCode(boundBreakpoint, options, out result))
                {
                    return(true);
                }
            }

            result = default;
            return(false);
        }
示例#4
0
 /// <summary>
 /// Tries to get the native code
 /// </summary>
 /// <param name="runtime">Runtime</param>
 /// <param name="location">Code location</param>
 /// <param name="options">Options</param>
 /// <param name="result">Native code if successful</param>
 /// <returns></returns>
 public abstract bool TryGetNativeCode(DbgRuntime runtime, DbgCodeLocation location, DbgNativeCodeOptions options, out GetNativeCodeResult result);
示例#5
0
 /// <summary>
 /// Tries to get the native code
 /// </summary>
 /// <param name="boundBreakpoint">A bound breakpoint</param>
 /// <param name="options">Options</param>
 /// <param name="result">Native code if successful</param>
 /// <returns></returns>
 public abstract bool TryGetNativeCode(DbgBoundCodeBreakpoint boundBreakpoint, DbgNativeCodeOptions options, out GetNativeCodeResult result);
示例#6
0
 /// <summary>
 /// Tries to get the native code
 /// </summary>
 /// <param name="frame">Stack frame</param>
 /// <param name="options">Options</param>
 /// <param name="result">Native code if successful</param>
 /// <returns></returns>
 public abstract bool TryGetNativeCode(DbgStackFrame frame, DbgNativeCodeOptions options, out GetNativeCodeResult result);