Mono.Debugger.Backend.Inferior.GetThreads C# (CSharp) Method

GetThreads() public method

public GetThreads ( ) : int[]
return int[]
        public int[] GetThreads()
        {
            IntPtr data = IntPtr.Zero;
            try {
                int count;
                check_error (mono_debugger_server_get_threads (
                             server_handle, out count, out data));

                int[] threads = new int [count];
                Marshal.Copy (data, threads, 0, count);
                return threads;
            } finally {
                g_free (data);
            }
        }

Usage Example

Esempio n. 1
0
        internal void InitializeThreads(Inferior inferior, bool resume_threads)
        {
            if (thread_db != null)
                return;

            thread_db = ThreadDB.Create (this, inferior);
            if (thread_db == null) {
                if (!IsManaged)
                    return;

                Report.Error ("Failed to initialize thread_db on {0}", start.CommandLine);
                throw new TargetException (TargetError.CannotStartTarget,
                               "Failed to initialize thread_db on {0}", start.CommandLine);
            }

            int[] threads = inferior.GetThreads ();
            foreach (int thread in threads) {
                if (thread_hash.Contains (thread))
                    continue;
                ThreadCreated (inferior, thread, Inferior.HasThreadEvents, resume_threads);
            }

            thread_db.GetThreadInfo (inferior, delegate (int lwp, long tid) {
                SingleSteppingEngine engine = (SingleSteppingEngine) thread_hash [lwp];
                if (engine == null) {
                    Report.Error ("Unknown thread {0} in {1}", lwp, start.CommandLine);
                    return;
                }
                engine.SetTID (tid);
            });
        }
Inferior