コード例 #1
0
ファイル: Process.cs プロジェクト: wmade/SoftwareZator-2012
        internal Process(NDebugger debugger, ICorDebugProcess corProcess, string workingDirectory)
        {
            this.debugger         = debugger;
            this.corProcess       = corProcess;
            this.workingDirectory = workingDirectory;

            this.callbackInterface = new ManagedCallback(this);

            activeEvals = new EvalCollection(debugger);
            modules     = new ModuleCollection(debugger);
            threads     = new ThreadCollection(debugger);
            appDomains  = new AppDomainCollection(debugger);
        }
コード例 #2
0
 public Breakpoint(string _filename, string _vbfilename, string _functionname, string _actiondisplayname, string _actionid, int _line, bool _enabled, string _projectname, System.Activities.Debugger.SourceLocation _sourcelocation, VelerSoftware.SZC.Debugger.Debugger.NDebugger __debugger)
 {
     this.ActionDisplayName = _actiondisplayname;
     this.ActionID          = _actionid;
     this._enabled          = _enabled;
     this.SZW_SZC_FileName  = _filename;
     this.FunctionName      = _functionname;
     this._line             = _line;
     this.ProjectName       = _projectname;
     this.SourceLocation    = _sourcelocation;
     this._fileName         = _vbfilename;
     this._checkSum         = new byte[] { };
     this._debugger         = __debugger;
     this._column           = 0;
 }
コード例 #3
0
ファイル: Process.cs プロジェクト: wmade/SoftwareZator-2012
        static unsafe public Process CreateProcess(NDebugger debugger, string filename, string workingDirectory, string arguments)
        {
            debugger.TraceMessage("Executing " + filename + " " + arguments);

            uint[] processStartupInfo = new uint[17];
            processStartupInfo[0] = sizeof(uint) * 17;
            uint[] processInfo = new uint[4];

            ICorDebugProcess outProcess;

            if (workingDirectory == null || workingDirectory == "")
            {
                workingDirectory = System.IO.Path.GetDirectoryName(filename);
            }

            _SECURITY_ATTRIBUTES secAttr = new _SECURITY_ATTRIBUTES();

            secAttr.bInheritHandle       = 0;
            secAttr.lpSecurityDescriptor = IntPtr.Zero;
            secAttr.nLength = (uint)sizeof(_SECURITY_ATTRIBUTES);

            fixed(uint *pprocessStartupInfo = processStartupInfo)
            fixed(uint *pprocessInfo = processInfo)
            outProcess =
                debugger.CorDebug.CreateProcess(
                    filename,                                           // lpApplicationName
                    // If we do not prepend " ", the first argument migh just get lost
                    " " + arguments,                                    // lpCommandLine
                    ref secAttr,                                        // lpProcessAttributes
                    ref secAttr,                                        // lpThreadAttributes
                    1,                                                  //TRUE                    // bInheritHandles
                    0x00000010 /*CREATE_NEW_CONSOLE*/,                  // dwCreationFlags
                    IntPtr.Zero,                                        // lpEnvironment
                    workingDirectory,                                   // lpCurrentDirectory
                    (uint)pprocessStartupInfo,                          // lpStartupInfo
                    (uint)pprocessInfo,                                 // lpProcessInformation,
                    CorDebugCreateProcessFlags.DEBUG_NO_SPECIAL_OPTIONS // debuggingFlags
                    );

            return(new Process(debugger, outProcess, workingDirectory));
        }
コード例 #4
0
 public AppDomainCollection(NDebugger dbgr) : base(dbgr)
 {
 }
コード例 #5
0
 public BreakpointCollection(NDebugger debugger) : base(debugger)
 {
 }
コード例 #6
0
 public ModuleCollection(NDebugger debugger) : base(debugger)
 {
 }
コード例 #7
0
ファイル: NDebugger.cs プロジェクト: wmade/SoftwareZator-2012
 public DebuggerEventArgs(NDebugger debugger)
 {
     this.debugger = debugger;
 }
コード例 #8
0
 public ManagedCallbackSwitch(NDebugger debugger)
 {
     this.debugger = debugger;
 }
コード例 #9
0
 public CollectionWithEvents(NDebugger debugger)
 {
     this.debugger = debugger;
 }
コード例 #10
0
 public ProcessCollection(NDebugger debugger) : base(debugger)
 {
 }
コード例 #11
0
 public ManagedCallbackProxy(NDebugger debugger, ManagedCallbackSwitch callbackSwitch)
 {
     this.debugger       = debugger;
     this.callbackSwitch = callbackSwitch;
 }
コード例 #12
0
 public ThreadCollection(NDebugger debugger) : base(debugger)
 {
 }
コード例 #13
0
 public EvalCollection(NDebugger debugger) : base(debugger)
 {
 }