1, 安装mono
2,下载fiddler for mac
https://www.telerik.com/download/fiddler
3. 解压fiddler-mac.zip
4, cd fiddler-mac
5, mono Fiddler.exe
事情总是不是风顺:
WARNING: The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all =================================================================
Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
================================================================= =================================================================
Basic Fault Adddress Reporting
=================================================================
Memory around native instruction pointer (0x7fff58297982):0x7fff58297972 fb 8b ba 0a 3c 8b SPH..H....<H.H.
0x7fff58297982 4f 8b 4f 8b H.O.H.H.H.O.H..H
0x7fff58297992 8b 0f f7 de e8 [email protected]...
0x7fff582979a2 4b fc ff d8 c4 5b 5d c3 TK..H..H...[].UH =================================================================
Native stacktrace:
=================================================================
(No frames) =================================================================
Telemetry Dumper:
=================================================================
Pkilling 0x7000101db000 from 0x112c425c0
Pkilling 0x70000fe4f000 from 0x112c425c0
Entering thread summarizer pause from 0x112c425c0
Finished thread summarizer pause from 0x112c425c0. Waiting for dumping threads to resume Debug info from gdb: =================================================================
External Debugger Dump:
=================================================================
(lldb) command source -s '/tmp/mono-gdb-commands.19119'
Executing commands in '/tmp/mono-gdb-commands.19119'.
(lldb) process attach --pid
warning: (x86_64) /Library/Frameworks/Mono.framework/Versions/5.18./lib/mono/4.5/mscorlib.dll.dylib empty dSYM file detected, dSYM was created with an executable with no debug info.
warning: (x86_64) /Library/Frameworks/Mono.framework/Versions/5.18./lib/libglib-2.0..dylib empty dSYM file detected, dSYM was created with an executable with no debug info.
Process stopped
* thread #, name = 'tid_307', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
frame #: 0x00007fff5efb6356 libsystem_kernel.dylib`__wait4 +
libsystem_kernel.dylib`__wait4:
-> 0x7fff5efb6356 <+>: jae 0x7fff5efb6360 ; <+>
0x7fff5efb6358 <+>: movq %rax, %rdi
0x7fff5efb635b <+>: jmp 0x7fff5efb1421 ; cerror
0x7fff5efb6360 <+>: retq
Target : (mono) stopped. Executable module set to "/usr/bin/mono".
Architecture set to: x86_64h-apple-macosx-.
(lldb) thread list
Process stopped
* thread #: tid = 0xdbab16, 0x00007fff5efb6356 libsystem_kernel.dylib`__wait4 + , name = 'tid_307', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
thread #: tid = 0xdbab19, 0x00007fff5efb486a libsystem_kernel.dylib`__psynch_cvwait + , name = 'SGen worker'
thread #: tid = 0xdbab1b, 0x00007fff5efb1266 libsystem_kernel.dylib`semaphore_wait_trap + , name = 'Finalizer'
thread #: tid = 0xdbab1c, 0x00007fff5efb2bfe libsystem_kernel.dylib`__workq_kernreturn +
thread #: tid = 0xdbab21, 0x00007fff5efb2bfe libsystem_kernel.dylib`__workq_kernreturn +
thread #: tid = 0xdbab33, 0x0000000000000000
thread #: tid = 0xdbab8d, 0x00007fff5efb486a libsystem_kernel.dylib`__psynch_cvwait + , name = 'Timer-Scheduler'
thread #: tid = 0xdbabbb, 0x00007fff5efb486a libsystem_kernel.dylib`__psynch_cvwait + , name = 'tid_5903'
thread #: tid = 0xdbabbc, 0x00007fff5efb127e libsystem_kernel.dylib`semaphore_timedwait_trap + , name = 'Thread Pool Worker'
thread #: tid = 0xdbabbd, 0x00007fff5efb127e libsystem_kernel.dylib`semaphore_timedwait_trap + , name = 'Thread Pool Worker'
(lldb) thread backtrace all
* thread #, name = 'tid_307', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
* frame #: 0x00007fff5efb6356 libsystem_kernel.dylib`__wait4 +
frame #: 0x00000001075ffdd0 mono`mono_dump_native_crash_info at mini-posix.c:: [opt]
frame #: 0x00000001075ffb14 mono`mono_dump_native_crash_info(signal=<unavailable>, ctx=<unavailable>, info=<unavailable>) at mini-posix.c: [opt]
frame #: 0x00000001075a3355 mono`mono_handle_native_crash(signal="SIGSEGV", ctx=0x0000000107be3f48, info=0x0000000107be3ee0) at mini-exceptions.c:: [opt]
frame #: 0x00000001074f8bf5 mono`mono_sigsegv_signal_handler(_dummy=<unavailable>, _info=0x0000000107be3ee0, context=0x0000000107be3f48) at mini-runtime.c:: [opt]
frame #: 0x00007fff5f067b5d libsystem_platform.dylib`_sigtramp +
frame #: 0x00007fff58297983 SkyLight`SLDisplayBounds +
frame #: 0x000000010ee7efbe
frame #: 0x0000000107bcc526
frame #: 0x00000001074fc083 mono`mono_jit_runtime_invoke(method=<unavailable>, obj=<unavailable>, params=0x0000000000000000, exc=0x000000010ee7e9f0, error=<unavailable>) at mini-runtime.c:: [opt]
frame #: 0x00000001076fa3f4 mono`do_runtime_invoke(method=0x00007facd88635d0, obj=0x0000000000000000, params=0x0000000000000000, exc=0x00007ffee8715468, error=0x00007ffee8715648) at object.c:: [opt]
frame #: 0x00000001076f63c8 mono`mono_runtime_class_init_full [inlined] mono_runtime_try_invoke(method=<unavailable>, obj=<unavailable>, params=<unavailable>, error=0x00007ffee8715648) at object.c:: [opt]
frame #: 0x00000001076f6387 mono`mono_runtime_class_init_full(vtable=0x00007facd68ac600, error=0x00007ffee8715648) at object.c: [opt]
frame #: 0x00000001074f45c5 mono`mono_jit_compile_method_inner(method=0x00007facd8863458, target_domain=0x00007facd5d0f2b0, opt=<unavailable>, error=0x00007ffee8715648) at mini.c:: [opt]
frame #: 0x00000001074f7b09 mono`mono_jit_compile_method_with_opt(method=0x00007facd8863458, opt=<unavailable>, jit_only=, error=0x00007ffee8715648) at mini-runtime.c:: [opt]
frame #: 0x00000001075a64c4 mono`common_call_trampoline(regs=0x00007ffee8715718, code=<unavailable>, m=0x00007facd8863458, vt=0x0000000000000000, vtable_slot=<unavailable>, error=0x00007ffee8715648) at mini-trampolines.c:: [opt]
frame #: 0x00000001075a5f09 mono`mono_magic_trampoline(regs=0x00007ffee8715718, code="H\x8b�H��\xa8H\x8b�8, arg=0x00007facd8863458, tramp=<unavailable>) at mini-trampolines.c:895:8 [opt]
frame #: 0x0000000107975393
frame #: 0x000000010eb3c5fb
frame #: 0x000000010e0fa16f
frame #: 0x000000010e0f9e47
frame #: 0x0000000107bcc053
frame #: 0x00000001074fc083 mono`mono_jit_runtime_invoke(method=<unavailable>, obj=<unavailable>, params=0x00007ffee8715fa8, exc=0x0000000107c59ee0, error=<unavailable>) at mini-runtime.c:: [opt]
frame #: 0x00000001076fa3f4 mono`do_runtime_invoke(method=0x00007facd5d10a48, obj=0x0000000000000000, params=0x00007ffee8715fa8, exc=0x0000000000000000, error=0x00007ffee8715fe0) at object.c:: [opt]
frame #: 0x00000001076fdecc mono`do_exec_main_checked [inlined] mono_runtime_invoke_checked(method=<unavailable>, obj=<unavailable>, params=<unavailable>, error=0x00007ffee8715fe0) at object.c:: [opt]
frame #: 0x00000001076fdebd mono`do_exec_main_checked(method=0x00007facd5d10a48, args=<unavailable>, error=0x00007ffee8715fe0) at object.c: [opt]
frame #: 0x000000010756304d mono`mono_jit_exec at driver.g.c:: [opt]
frame #: 0x000000010756303f mono`mono_jit_exec(domain=<unavailable>, assembly=<unavailable>, argc=, argv=0x00007ffee87163a0) at driver.g.c: [opt]
frame #: 0x000000010756622f mono`mono_main [inlined] main_thread_handler at driver.g.c:: [opt]
frame #: 0x00000001075661f8 mono`mono_main(argc=, argv=<unavailable>) at driver.g.c: [opt]
frame #: 0x00000001074eaea8 mono`main [inlined] mono_main_with_options(argc=<unavailable>, argv=<unavailable>) at main.c:: [opt]
frame #: 0x00000001074eae94 mono`main(argc=, argv=<unavailable>) at main.c: [opt]
frame #: 0x00007fff5ee7c3d5 libdyld.dylib`start +
frame #: 0x00007fff5ee7c3d5 libdyld.dylib`start +
thread #, name = 'SGen worker'
frame #: 0x00007fff5efb486a libsystem_kernel.dylib`__psynch_cvwait +
frame #: 0x00007fff5f07356e libsystem_pthread.dylib`_pthread_cond_wait +
frame #: 0x00000001077c743e mono`thread_func [inlined] mono_os_cond_wait(mutex=<unavailable>) at mono-os-mutex.h:: [opt]
frame #: 0x00000001077c742b mono`thread_func at sgen-thread-pool.c: [opt]
frame #: 0x00000001077c741d mono`thread_func(data=0x0000000000000000) at sgen-thread-pool.c: [opt]
frame #: 0x00007fff5f0702eb libsystem_pthread.dylib`_pthread_body +
frame #: 0x00007fff5f073249 libsystem_pthread.dylib`_pthread_start +
frame #: 0x00007fff5f06f40d libsystem_pthread.dylib`thread_start +
thread #, name = 'Finalizer'
frame #: 0x00007fff5efb1266 libsystem_kernel.dylib`semaphore_wait_trap +
frame #: 0x0000000107774cfa mono`finalizer_thread [inlined] mono_os_sem_wait(flags=MONO_SEM_FLAGS_ALERTABLE) at mono-os-semaphore.h:: [opt]
frame #: 0x0000000107774cef mono`finalizer_thread at mono-coop-semaphore.h: [opt]
frame #: 0x0000000107774cd5 mono`finalizer_thread(unused=<unavailable>) at gc.c: [opt]
frame #: 0x0000000107720173 mono`start_wrapper [inlined] start_wrapper_internal at threads.c:: [opt]
frame #: 0x00000001077200e3 mono`start_wrapper(data=0x00007facd5d20950) at threads.c: [opt]
frame #: 0x00007fff5f0702eb libsystem_pthread.dylib`_pthread_body +
frame #: 0x00007fff5f073249 libsystem_pthread.dylib`_pthread_start +
frame #: 0x00007fff5f06f40d libsystem_pthread.dylib`thread_start +
thread #
frame #: 0x00007fff5f06f3f0 libsystem_pthread.dylib`start_wqthread
thread #
frame #: 0x00007fff5f06f3f0 libsystem_pthread.dylib`start_wqthread
thread #
frame #: 0x0000000000000000
thread #, name = 'Timer-Scheduler'
frame #: 0x00007fff5efb486a libsystem_kernel.dylib`__psynch_cvwait +
frame #: 0x00007fff5f0735a1 libsystem_pthread.dylib`_pthread_cond_wait +
frame #: 0x00000001077d7f84 mono`mono_os_cond_timedwait(cond=0x00007facd68010e0, mutex=0x00007facd68010a0, timeout_ms=) at mono-os-mutex.c:: [opt]
frame #: 0x000000010773e769 mono`mono_w32handle_timedwait_signal_handle at mono-coop-mutex.h:: [opt]
frame #: 0x000000010773e73c mono`mono_w32handle_timedwait_signal_handle [inlined] mono_w32handle_timedwait_signal_naked(poll=, alerted=<unavailable>) at w32handle.c: [opt]
frame #: 0x000000010773e73c mono`mono_w32handle_timedwait_signal_handle(handle_data=<unavailable>, timeout=<unavailable>, poll=, alerted=<unavailable>) at w32handle.c: [opt]
frame #: 0x000000010773e631 mono`mono_w32handle_wait_one(handle=<unavailable>, timeout=<unavailable>, alertable=<unavailable>) at w32handle.c:: [opt]
frame #: 0x000000010773e8b2 mono`mono_w32handle_wait_multiple(handles=0x00007000101da920, nhandles=, waitall=, timeout=<unavailable>, alertable=) at w32handle.c:: [opt]
frame #: 0x000000010771a577 mono`ves_icall_System_Threading_WaitHandle_Wait_internal(handles=<unavailable>, numhandles=<unavailable>, waitall=<unavailable>, timeout=-, error=0x00007000101da840) at threads.c:: [opt]
frame #: 0x000000010ee63ddd
frame #: 0x00000001096bd0f0 mscorlib.dll.dylib`System_Threading_WaitHandle_InternalWaitOne_System_Runtime_InteropServices_SafeHandle_long_bool_bool +
frame #: 0x00000001096bd09c mscorlib.dll.dylib`System_Threading_WaitHandle_WaitOne_long_bool +
frame #: 0x00000001096bcf03 mscorlib.dll.dylib`System_Threading_WaitHandle_WaitOne_int_bool +
frame #: 0x00000001096bd02c mscorlib.dll.dylib`System_Threading_WaitHandle_WaitOne_int +
frame #: 0x00000001096c256a mscorlib.dll.dylib`System_Threading_Timer_Scheduler_SchedulerThread +
frame #: 0x00000001096b5d57 mscorlib.dll.dylib`System_Threading_ThreadHelper_ThreadStart_Context_object +
frame #: 0x00000001096b38c1 mscorlib.dll.dylib`System_Threading_ExecutionContext_Run_System_Threading_ExecutionContext_System_Threading_ContextCallback_object_bool +
frame #: 0x00000001096b3854 mscorlib.dll.dylib`System_Threading_ExecutionContext_Run_System_Threading_ExecutionContext_System_Threading_ContextCallback_object +
frame #: 0x00000001096b5e9f mscorlib.dll.dylib`System_Threading_ThreadHelper_ThreadStart +
frame #: 0x0000000107bd8239
frame #: 0x00000001074fc083 mono`mono_jit_runtime_invoke(method=<unavailable>, obj=<unavailable>, params=0x00007000101daec8, exc=0x0000000107c59078, error=<unavailable>) at mini-runtime.c:: [opt]
frame #: 0x00000001076fa3f4 mono`do_runtime_invoke(method=0x00007facd6190330, obj=0x0000000107c59208, params=0x00007000101daec8, exc=0x0000000000000000, error=0x00007000101dae60) at object.c:: [opt]
frame #: 0x00000001076fc1bb mono`mono_runtime_delegate_try_invoke [inlined] mono_runtime_invoke_checked(params=<unavailable>, error=<unavailable>) at object.c:: [opt]
frame #: 0x00000001076fc1b3 mono`mono_runtime_delegate_try_invoke(delegate=0x0000000107c59208, params=0x00007000101daec8, exc=0x0000000000000000, error=0x00007000101dae60) at object.c: [opt]
frame #: 0x000000010772019e mono`start_wrapper at threads.c:: [opt]
frame #: 0x00000001077200e3 mono`start_wrapper(data=0x00007facd7959410) at threads.c: [opt]
frame #: 0x00007fff5f0702eb libsystem_pthread.dylib`_pthread_body +
frame #: 0x00007fff5f073249 libsystem_pthread.dylib`_pthread_start +
frame #: 0x00007fff5f06f40d libsystem_pthread.dylib`thread_start +
thread #, name = 'tid_5903'
frame #: 0x00007fff5efb486a libsystem_kernel.dylib`__psynch_cvwait +
frame #: 0x00007fff5f0735a1 libsystem_pthread.dylib`_pthread_cond_wait +
frame #: 0x00000001077d7f84 mono`mono_os_cond_timedwait(cond=0x00000001078d8b40, mutex=0x00000001078d8b00, timeout_ms=) at mono-os-mutex.c:: [opt]
frame #: 0x00000001077e33b7 mono`mono_thread_info_sleep at mono-coop-mutex.h:: [opt]
frame #: 0x00000001077e338b mono`mono_thread_info_sleep [inlined] sleep_interruptable(ms=<unavailable>, alerted=<unavailable>) at mono-threads.c: [opt]
frame #: 0x00000001077e333d mono`mono_thread_info_sleep(ms=, alerted=<unavailable>) at mono-threads.c: [opt]
frame #: 0x000000010766ce63 mono`monitor_thread(unused=<unavailable>) at threadpool-worker-default.c:: [opt]
frame #: 0x0000000107720173 mono`start_wrapper [inlined] start_wrapper_internal at threads.c:: [opt]
frame #: 0x00000001077200e3 mono`start_wrapper(data=0x00007facd5e48d30) at threads.c: [opt]
frame #: 0x00007fff5f0702eb libsystem_pthread.dylib`_pthread_body +
frame #: 0x00007fff5f073249 libsystem_pthread.dylib`_pthread_start +
frame #: 0x00007fff5f06f40d libsystem_pthread.dylib`thread_start +
thread #, name = 'Thread Pool Worker'
frame #: 0x00007fff5efb127e libsystem_kernel.dylib`semaphore_timedwait_trap +
frame #: 0x000000010766d43d mono`worker_thread [inlined] mono_os_sem_timedwait(flags=MONO_SEM_FLAGS_ALERTABLE) at mono-os-semaphore.h:: [opt]
frame #: 0x000000010766d3bf mono`worker_thread at mono-coop-semaphore.h: [opt]
frame #: 0x000000010766d3a5 mono`worker_thread at threadpool-worker-default.c: [opt]
frame #: 0x000000010766d2b1 mono`worker_thread(unused=<unavailable>) at threadpool-worker-default.c: [opt]
frame #: 0x0000000107720173 mono`start_wrapper [inlined] start_wrapper_internal at threads.c:: [opt]
frame #: 0x00000001077200e3 mono`start_wrapper(data=0x00007facd5d77870) at threads.c: [opt]
frame #: 0x00007fff5f0702eb libsystem_pthread.dylib`_pthread_body +
frame #: 0x00007fff5f073249 libsystem_pthread.dylib`_pthread_start +
frame #: 0x00007fff5f06f40d libsystem_pthread.dylib`thread_start +
thread #, name = 'Thread Pool Worker'
frame #: 0x00007fff5efb127e libsystem_kernel.dylib`semaphore_timedwait_trap +
frame #: 0x000000010766d43d mono`worker_thread [inlined] mono_os_sem_timedwait(flags=MONO_SEM_FLAGS_ALERTABLE) at mono-os-semaphore.h:: [opt]
frame #: 0x000000010766d3bf mono`worker_thread at mono-coop-semaphore.h: [opt]
frame #: 0x000000010766d3a5 mono`worker_thread at threadpool-worker-default.c: [opt]
frame #: 0x000000010766d2b1 mono`worker_thread(unused=<unavailable>) at threadpool-worker-default.c: [opt]
frame #: 0x0000000107720173 mono`start_wrapper [inlined] start_wrapper_internal at threads.c:: [opt]
frame #: 0x00000001077200e3 mono`start_wrapper(data=0x00007facd5d784f0) at threads.c: [opt]
frame #: 0x00007fff5f0702eb libsystem_pthread.dylib`_pthread_body +
frame #: 0x00007fff5f073249 libsystem_pthread.dylib`_pthread_start +
frame #: 0x00007fff5f06f40d libsystem_pthread.dylib`thread_start +
(lldb) detach
Process detached =================================================================
Managed Stacktrace:
=================================================================
(lldb) quit
at <unknown> <0xffffffff>
at System.Windows.Forms.XplatUICarbon:CGDisplayBounds <0x0006d>
at System.Windows.Forms.XplatUICarbon:get_WorkingArea <0x00052>
at System.Windows.Forms.XplatUICarbon:get_VirtualScreen <0x00020>
at System.Windows.Forms.XplatUI:get_VirtualScreen <0x00025>
at System.Windows.Forms.Screen:.cctor <0x0013a>
at System.Object:runtime_invoke_void <0x00075>
at <unknown> <0xffffffff>
at System.Windows.Forms.Form:get_CreateParams <0x0060a>
at System.Windows.Forms.Control:CreateHandle <0x0007e>
at System.Windows.Forms.Form:CreateHandle <0x00032>
at System.Windows.Forms.Control:CreateControl <0x000a6>
at System.Windows.Forms.Control:SetVisibleCore <0x000f2>
at System.Windows.Forms.Form:SetVisibleCore <0x00222>
at System.Windows.Forms.Control:set_Visible <0x00032>
at System.Windows.Forms.Control:Show <0x0001a>
at System.Windows.Forms.Control:Show <0x0007a>
at Fiddler.frmViewer: <0x0027a>
at Fiddler.frmViewer: <0x000b2>
at <Module>:runtime_invoke_void_object <0x000d8>
=================================================================
[] abort mono Fiddler.exe
mono 进程之间退出了. 说明mono版本不对