മോണോ - ക്ലൗഡിൽ ഓൺലൈനിൽ

Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്‌സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാവുന്ന കമാൻഡ് മോണോയാണിത്.

പട്ടിക:

NAME


മോണോ - മോണോയുടെ ഇസിഎംഎ-സിഎൽഐ നേറ്റീവ് കോഡ് ജനറേറ്റർ (സമയത്തും മുമ്പുള്ള സമയത്തും)

സിനോപ്സിസ്


മോണോ [ഓപ്ഷനുകൾ] ഫയല് [വാദങ്ങൾ...]

മോണോ-എസ്ജെൻ [ഓപ്ഷനുകൾ] ഫയല് [വാദങ്ങൾ...]

വിവരണം


മോണോ ECMA കോമൺ ലാംഗ്വേജ് ഇൻഫ്രാസ്ട്രക്ചറിന്റെ റൺടൈം നിർവ്വഹണമാണ്. ഇത് ആകാം
ECMA, .NET ആപ്ലിക്കേഷനുകൾ പ്രവർത്തിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു.

റൺടൈമിൽ കോമൺ ഇന്റർമീഡിയറ്റിനെ രൂപാന്തരപ്പെടുത്തുന്ന ഒരു നേറ്റീവ് കോഡ് ജനറേറ്റർ അടങ്ങിയിരിക്കുന്നു
നേറ്റീവ് കോഡിലേക്ക് ഭാഷ.

കോഡ് ജനറേറ്ററിന് രണ്ട് മോഡുകളിൽ പ്രവർത്തിക്കാൻ കഴിയും: സമയ സമാഹരണത്തിലോ (JIT) അല്ലെങ്കിൽ മുമ്പോ
സമയ സമാഹാരം (AOT). കോഡ് ഡൈനാമിക് ആയി ലോഡ് ചെയ്യാൻ കഴിയുന്നതിനാൽ, റൺടൈം എൻവയോൺമെന്റ് കൂടാതെ
കോഡ് സമയത്തിന് മുമ്പായി സമാഹരിച്ചാലും, JIT എല്ലായ്പ്പോഴും നിലവിലുണ്ട്.

റൺടൈം വ്യക്തമാക്കിയത് ലോഡ് ചെയ്യുന്നു ഫയല് കൂടാതെ ഓപ്ഷണലായി കടന്നുപോകുന്നു വാദങ്ങൾ അതിലേക്ക്. ദി ഫയല്
ഒരു ECMA അസംബ്ലിയാണ്. അവയ്ക്ക് സാധാരണയായി .exe അല്ലെങ്കിൽ .dll വിപുലീകരണമുണ്ട്.

റൺടൈം ആപ്ലിക്കേഷനുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന് നിരവധി കോൺഫിഗറേഷൻ ഓപ്ഷനുകൾ നൽകുന്നു
വികസിപ്പിക്കുകയും ഡീബഗ്ഗിംഗും, കൂടാതെ റൺടൈം തന്നെ പരീക്ഷിക്കുന്നതിനും ഡീബഗ്ഗുചെയ്യുന്നതിനും.

ദി മോണോ കമാൻഡ് ബോം യാഥാസ്ഥിതിക ഗാർബേജ് കളക്ടർ ഉപയോഗിക്കുന്നു മോണോ-എസ്ജെൻ കമാൻഡ്
ഒരു ചലിക്കുന്നതും ജനറേഷൻ ഗാർബേജ് കളക്ടർ ഉപയോഗിക്കുന്നു.

പോർട്ടബിലിറ്റി


Unix-അധിഷ്ഠിത സിസ്റ്റങ്ങളിൽ, മോണോ വിൻഡോസ് ശൈലിയിലുള്ള ഫയൽ ആക്സസ് അനുകരിക്കുന്നതിനുള്ള ഒരു സംവിധാനം നൽകുന്നു,
ഫയൽ സിസ്റ്റം, ഡയറക്‌ടറി സെപ്പറേറ്റർ എന്നിവയുടെ കേസ് സെൻസിറ്റീവ് വ്യൂ നൽകുന്നത് ഇതിൽ ഉൾപ്പെടുന്നു
മാപ്പിംഗ് (\ മുതൽ / വരെ) കൂടാതെ ഡ്രൈവ് അക്ഷരങ്ങൾ നീക്കം ചെയ്യുന്നു.

സജ്ജീകരിച്ച് ഈ പ്രവർത്തനം പ്രവർത്തനക്ഷമമാക്കുന്നു MONO_IOMAP പരിസ്ഥിതി വേരിയബിൾ ഒന്നിലേക്ക്
എല്ലാം, ഡ്രൈവ് ഒപ്പം കേസ്.

എന്നതിനുള്ള വിവരണം കാണുക MONO_IOMAP കൂടുതൽ വിവരങ്ങൾക്ക് എൻവയോൺമെന്റ് വേരിയബിൾസ് വിഭാഗത്തിൽ.

പ്രവർത്തിപ്പിക്കുക ഓപ്ഷനുകൾ


ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ ലഭ്യമാണ്:

--aot, --aot[=ഓപ്‌ഷനുകൾ]
നിർദ്ദിഷ്ട അസംബ്ലിയിലെ CIL കോഡ് നേറ്റീവ് ആയി മുൻകൂട്ടി കംപൈൽ ചെയ്യാൻ ഈ ഓപ്ഷൻ ഉപയോഗിക്കുന്നു
കോഡ്. ജനറേറ്റുചെയ്‌ത കോഡ് .so എന്ന വിപുലീകരണത്തോടുകൂടിയ ഒരു ഫയലിൽ സംഭരിച്ചിരിക്കുന്നു. ഈ ഫയൽ
അസംബ്ലി എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ റൺടൈം സ്വയമേവ എടുക്കും.
അഹെഡ്-ഓഫ്-ടൈം കംപൈലേഷൻ നിങ്ങൾ ഇത് സംയോജിപ്പിച്ച് ഉപയോഗിക്കുകയാണെങ്കിൽ ഏറ്റവും ഉപയോഗപ്രദമാണ്
-O=എല്ലാം,-പങ്കിട്ട ഫ്ലാഗ് കോഡ് ജനറേറ്ററിലെ എല്ലാ ഒപ്റ്റിമൈസേഷനുകളും പ്രാപ്തമാക്കുന്നു
നടത്തപ്പെടും. ആ ഒപ്റ്റിമൈസേഷനുകളിൽ ചിലത് ജസ്റ്റ്-ഇൻ-ടൈമിന് പ്രായോഗികമല്ല
അവ വളരെ സമയമെടുക്കുന്നതിനാൽ സമാഹാരം. .NET ഫ്രെയിംവർക്കിൽ നിന്ന് വ്യത്യസ്തമായി,
അഹെഡ്-ഓഫ്-ടൈം കംപൈലേഷൻ ഡൊമെയ്ൻ സ്വതന്ത്ര കോഡ് സൃഷ്ടിക്കില്ല: അത് സൃഷ്ടിക്കുന്നു
ജസ്റ്റ്-ഇൻ-ടൈം കംപൈലർ നിർമ്മിക്കുന്ന അതേ കോഡ്. മിക്കവാറും മുതൽ
ആപ്ലിക്കേഷനുകൾ ഒരൊറ്റ ഡൊമെയ്ൻ ഉപയോഗിക്കുന്നു, ഇത് നല്ലതാണ്. നിങ്ങൾക്ക് ഒപ്റ്റിമൈസ് ചെയ്യണമെങ്കിൽ
മൾട്ടി-ഡൊമെയ്ൻ ആപ്ലിക്കേഷനുകളിലെ ഉപയോഗത്തിനായി ജനറേറ്റ് ചെയ്ത കോഡ്, -O=shared ഉപയോഗിക്കുന്നത് പരിഗണിക്കുക
പതാക. ഇത് രീതികൾ മുൻകൂട്ടി കംപൈൽ ചെയ്യുന്നു, എന്നാൽ യഥാർത്ഥ അസംബ്ലി ഇപ്പോഴും ആവശ്യമാണ്
ഇതിൽ ഇല്ലാത്ത മെറ്റാഡാറ്റയും ഒഴിവാക്കൽ വിവരങ്ങളും അടങ്ങിയിരിക്കുന്നതിനാൽ എക്സിക്യൂട്ട് ചെയ്യാൻ
സൃഷ്ടിച്ച ഫയലിൽ ലഭ്യമാണ്. കോഡ് പ്രീ കംപൈൽ ചെയ്യുമ്പോൾ, നിങ്ങൾ കംപൈൽ ചെയ്യാൻ ആഗ്രഹിച്ചേക്കാം
എല്ലാ ഒപ്റ്റിമൈസേഷനുകളും (-O=എല്ലാം). പ്രീ-കംപൈൽഡ് കോഡ് പൊസിഷൻ ഇൻഡിപെൻഡന്റ് കോഡാണ്.
പ്രി കംപൈലേഷൻ എന്നത് സ്റ്റാർട്ടപ്പ് സമയം കുറയ്ക്കുന്നതിനും കോഡ് പങ്കിടൽ വർദ്ധിപ്പിക്കുന്നതിനുമുള്ള ഒരു സംവിധാനം മാത്രമാണ്
ഒന്നിലധികം മോണോ പ്രോസസുകളിൽ ഉടനീളം കംപൈലേഷൻ പ്രോഗ്രാം ആരംഭിക്കുന്നത് ഒഴിവാക്കുക
ചെലവുകൾ. മെറ്റാഡാറ്റ അടങ്ങിയിരിക്കുന്നതിനാൽ യഥാർത്ഥ അസംബ്ലി ഇപ്പോഴും ഉണ്ടായിരിക്കണം
അവിടെ. AOT കോഡ് സാധാരണയായി ഒരു കമ്പ്യൂട്ടറിൽ നിന്ന് മറ്റൊന്നിലേക്ക് മാറ്റാൻ കഴിയില്ല (CPU-
റൺടൈമിൽ കണ്ടെത്തുന്ന നിർദ്ദിഷ്ട ഒപ്റ്റിമൈസേഷനുകൾ) അതിനാൽ നിങ്ങൾ നീക്കാൻ ശ്രമിക്കരുത്
മുൻകൂട്ടി ജനറേറ്റ് ചെയ്ത അസംബ്ലികൾ അല്ലെങ്കിൽ മുൻകൂട്ടി ജനറേറ്റഡ് അസംബ്ലികൾക്കുള്ള പാക്കേജ്
വിന്യാസം. ഒരു പാരാമീറ്ററായി കുറച്ച് ഓപ്ഷനുകൾ ലഭ്യമാണ് --aot കമാൻഡ് ലൈൻ
ഓപ്ഷൻ. ഓപ്‌ഷനുകൾ കോമകളാൽ വേർതിരിച്ചിരിക്കുന്നു, ഒന്നിൽ കൂടുതൽ വ്യക്തമാക്കാൻ കഴിയും:

ഓട്ടോറെഗ്
AOT കംപൈലർ സ്വയമേവ ഒരു (ELF മാത്രം) ലൈബ്രറി ഇനീഷ്യലൈസർ പുറപ്പെടുവിക്കും
റൺടൈം ഉപയോഗിച്ച് aot കംപൈൽ ചെയ്ത മൊഡ്യൂൾ രജിസ്റ്റർ ചെയ്യുക. ഇത് ഉപയോഗപ്രദമാണ്
സ്റ്റാറ്റിക് മോഡ്

അസ്മോൺലി
ഒരു ഒബ്‌ജക്റ്റിന് പകരം അസംബ്ലി കോഡ് ഔട്ട്‌പുട്ട് ചെയ്യാൻ AOT കമ്പൈലറിന് നിർദ്ദേശം നൽകുന്നു
ഫയൽ.

ബൈൻഡ്-ടു-റൺടൈം-പതിപ്പ്
വ്യക്തമാക്കിയിട്ടുണ്ടെങ്കിൽ, ജനറേറ്റ് ചെയ്ത AOT ഫയലുകളെ റൺടൈമിലേക്ക് ബന്ധിപ്പിക്കാൻ നിർബന്ധിക്കുന്നു
കംപൈലിംഗ് മോണോയുടെ പതിപ്പ്. ഇത് AOT ഫയലുകൾ ഉണ്ടാകുന്നത് തടയും
മറ്റൊരു മോണോ റൺടൈം ഉപയോഗിച്ചു. നിറഞ്ഞ ഇത് നിലവിൽ ഒരു
പൂർണ്ണമല്ലാത്തതിനാൽ പരീക്ഷണാത്മക സവിശേഷത. ഇത് മോണോയോട് നിർദ്ദേശിക്കുന്നു
ചരിത്രപരമായി AOT ഉപയോഗിച്ച് മുൻകൂട്ടി കംപൈൽ ചെയ്തിട്ടില്ലാത്ത പ്രീകംപൈൽ കോഡ്.

നേരിട്ടുള്ള-പിൻവോക്ക്
ഈ ഓപ്‌ഷൻ വ്യക്തമാക്കുമ്പോൾ, പകരം P/Invoke രീതികൾ നേരിട്ട് അഭ്യർത്ഥിക്കുന്നു
ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ചിഹ്ന ലുക്ക്അപ്പ് ഓപ്പറേഷനിലൂടെ കടന്നുപോകുന്നത്.

llvm-path=
llvm ടൂളുകൾ 'opt', 'llc' എന്നിവയ്ക്കും സമാനമാണ്.

mtriple=
ഗ്നു ശൈലിയിലുള്ള ടാർഗെറ്റ് ട്രിപ്പിൾ ഉപയോഗിക്കുക ചില കോഡ് ജനറേഷൻ നിർണ്ണയിക്കാൻ
ഓപ്ഷനുകൾ, അതായത് --mtriple=armv7-linux-gnueabi ടാർഗെറ്റുചെയ്യുന്ന കോഡ് സൃഷ്ടിക്കും
ARMv7. ഇത് നിലവിൽ ARM ബാക്കെൻഡ് മാത്രമാണ് പിന്തുണയ്ക്കുന്നത്. LLVM മോഡിൽ,
ഈ ട്രിപ്പിൾ LLVM llc കമ്പൈലറിലേക്ക് കൈമാറുന്നു.

nimt-trampolines=[നമ്പർ]
പൂർണ്ണമായ aot മോഡിൽ കംപൈൽ ചെയ്യുമ്പോൾ, IMT ട്രാംപോളിനുകൾ മുൻകൂട്ടി സൃഷ്ടിച്ചിരിക്കണം
AOT ചിത്രം. ഇതുപയോഗിച്ച് നിങ്ങൾക്ക് അധിക രീതി ട്രാംപോളിൻ ചേർക്കാൻ കഴിയും
വാദം. 128 ലേക്ക് ഡിഫോൾട്ടുകൾ.

നോഡ്ബഗ്
ഡീബഗ്ഗിംഗ് വിവരങ്ങളൊന്നും ഔട്ട്പുട്ട് ചെയ്യാതിരിക്കാൻ AOT കംപൈലറിന് നിർദ്ദേശം നൽകുന്നു.

നേരിട്ടുള്ള കോളുകൾ ഇല്ല
ഇത് ഒരു രീതിയിലേക്ക് നേരിട്ട് കോളുകൾ സൃഷ്ടിക്കുന്നതിൽ നിന്ന് AOT കംപൈലറിനെ തടയുന്നു.
AOT കംപൈലർ സാധാരണയായി ചില രീതികൾക്കായി നേരിട്ട് കോളുകൾ സൃഷ്ടിക്കുന്നു
PLT വഴി പോകേണ്ടതില്ല (ഉദാഹരണത്തിന്, അറിയപ്പെടുന്ന രീതികൾ
ഒരു സ്റ്റാറ്റിക് കൺസ്ട്രക്റ്റർ പോലെയുള്ള ഒരു ഹുക്ക് ആവശ്യമില്ല) അല്ലെങ്കിൽ ലളിതമായ ആന്തരികത്തിലേക്ക് വിളിക്കുക
കോളുകൾ.

dwarfdebug
DWARF ഡീബഗ്ഗിംഗ് വിവരങ്ങൾ പുറത്തുവിടാൻ AOT കമ്പൈലറിന് നിർദ്ദേശം നൽകുന്നു. ഉപയോഗിക്കുമ്പോൾ
നോഡ്ബഗ് ഓപ്‌ഷനോടൊപ്പം, DWARF ഡീബഗ്ഗിംഗ് വിവരങ്ങൾ മാത്രമാണ്
പുറത്തുവിടുന്നു, എന്നാൽ റൺടൈമിൽ ഉപയോഗിക്കാൻ കഴിയുന്ന വിവരങ്ങളല്ല.

nrgctx-trampolines=[നമ്പർ]
പൂർണ്ണമായ aot മോഡിൽ കംപൈൽ ചെയ്യുമ്പോൾ, ജനറിക് ഷെയറിംഗ് ട്രാംപോളിൻ ആയിരിക്കണം
AOT ഇമേജിൽ മുൻകൂട്ടി സൃഷ്ടിച്ചു. നിങ്ങൾക്ക് അധിക രീതി ട്രാംപോളിൻ ചേർക്കാൻ കഴിയും
ഈ വാദം. 1024-ലേക്ക് സ്ഥിരസ്ഥിതി.

ntrampolines=[നമ്പർ]
പൂർണ്ണ aot മോഡിൽ കംപൈൽ ചെയ്യുമ്പോൾ, രീതി ട്രാംപോളിൻ മുൻകൂട്ടി ഉണ്ടാക്കിയിരിക്കണം
AOT ചിത്രത്തിൽ. ഇതുപയോഗിച്ച് നിങ്ങൾക്ക് അധിക രീതി ട്രാംപോളിൻ ചേർക്കാൻ കഴിയും
വാദം. 1024 ലേക്ക് ഡിഫോൾട്ടുകൾ.

outfile=[ഫയൽ പേര്]
നിർദ്ദിഷ്ട ഫയലിലേക്ക് ഔട്ട്പുട്ട് സംരക്ഷിക്കാൻ AOT കംപൈലറിന് നിർദ്ദേശം നൽകുന്നു.

പ്രിന്റ് ഒഴിവാക്കിയ രീതികൾ
ഏതെങ്കിലും കാരണത്താൽ AOT കംപൈലറിന് ഒരു രീതി കംപൈൽ ചെയ്യാൻ കഴിയുന്നില്ലെങ്കിൽ, ഇത് പ്രവർത്തനക്ഷമമാക്കുന്നു
ഫ്ലാഗ് ഒഴിവാക്കിയ രീതികൾ കൺസോളിലേക്ക് ഔട്ട്പുട്ട് ചെയ്യും.

readonly-value=namespace.typename.fieldname=type/value
ഒരു സ്റ്റാറ്റിക് റീഡൺലി ഫീൽഡിന്റെ മൂല്യം അസാധുവാക്കുക. സാധാരണയായി, JIT സമയത്ത്
കംപൈലേഷൻ, സ്റ്റാറ്റിക് കൺസ്ട്രക്റ്റർ ആകാംക്ഷയോടെ പ്രവർത്തിക്കുന്നു, അതിനാൽ ഒരു സ്റ്റാറ്റിക്കിന്റെ മൂല്യം
കംപൈലേഷൻ സമയത്ത് വായിക്കാൻ മാത്രം ഫീൽഡ് അറിയാം, കൂടാതെ കംപൈലറിന് ഒരു നമ്പർ ചെയ്യാൻ കഴിയും
അതിനെ അടിസ്ഥാനമാക്കിയുള്ള ഒപ്റ്റിമൈസേഷനുകൾ. AOT സമയത്ത്, പകരം, സ്റ്റാറ്റിക് കൺസ്ട്രക്റ്റർ
പ്രവർത്തിപ്പിക്കാൻ കഴിയില്ല, അതിനാൽ അത്തരമൊരു ഫീൽഡിന്റെ മൂല്യം സജ്ജമാക്കാൻ ഈ ഓപ്ഷൻ ഉപയോഗിക്കാം
കൂടാതെ ഒരേ കൂട്ടം ഒപ്റ്റിമൈസേഷനുകൾ പ്രവർത്തനക്ഷമമാക്കുക. ഇനം i1, i2, i4 എന്നിവയിൽ ഏതെങ്കിലും ആകാം
അതാത് വലുപ്പങ്ങളുടെ പൂർണ്ണസംഖ്യകൾ (ബൈറ്റുകളിൽ). ഒപ്പിട്ടത് / ഒപ്പിടാത്തത് ശ്രദ്ധിക്കുക
സംഖ്യകൾ ഇവിടെ പ്രധാനമല്ല, സംഭരണ ​​വലുപ്പം മാത്രം. ഈ ഓപ്ഷൻ ആകാം
ഒന്നിലധികം തവണ വ്യക്തമാക്കിയിട്ടുണ്ട്, ഇത് സ്റ്റാറ്റിക് കൺസ്ട്രക്റ്ററിനെ തടയില്ല
റൺടൈമിൽ സാധാരണ നിയമങ്ങൾ ഉപയോഗിച്ച് ഫീൽഡ് നിർവചിക്കുന്ന തരം
(അതിനാൽ ഫീൽഡിന് മറ്റൊരു മൂല്യം കണക്കാക്കാം).

സേവ്-ടെമ്പുകൾ, നിലനിർത്തൽ-ടെമ്പുകൾ
താൽക്കാലിക ഫയലുകൾ സൂക്ഷിക്കാൻ AOT കംപൈലറിന് നിർദ്ദേശം നൽകുന്നു.

സോഫ്റ്റ്-ഡീബഗ്
ഇത് അനുവദിക്കുന്ന സീക്വൻസ് പോയിന്റ് ചെക്കുകൾ സൃഷ്ടിക്കാൻ കംപൈലറോട് നിർദ്ദേശിക്കുന്നു
അല്ലാത്ത സിസ്റ്റങ്ങളിൽ പോലും ആപ്ലിക്കേഷനുകൾ ഡീബഗ് ചെയ്യാനുള്ള മോണോയുടെ സോഫ്റ്റ് ഡീബഗ്ഗർ
ബ്രേക്ക്‌പോയിന്റുകൾ അല്ലെങ്കിൽ ഒറ്റ ഘട്ടം (ചില ഹാർഡ്‌വെയർ
സെൽ ഫോണുകളും വീഡിയോ ഗെയിമിംഗ് കൺസോളുകളും പോലുള്ള കോൺഫിഗറേഷനുകൾ).

സ്റ്റാറ്റിക്ക് സ്ഥിരമായി ലിങ്ക് ചെയ്യാൻ കഴിയുന്ന ഒരു ELF ഒബ്‌ജക്റ്റ് ഫയൽ (.o) അല്ലെങ്കിൽ .s ഫയൽ സൃഷ്‌ടിക്കുക
മോണോ റൺടൈം ഉൾച്ചേർക്കുമ്പോൾ ഒരു എക്സിക്യൂട്ടബിളിലേക്ക്. ഈ ഓപ്ഷൻ എപ്പോൾ
ഉപയോഗിച്ചത്, ഉപയോഗിച്ച് എംബഡഡ് റൺടൈം ഉപയോഗിച്ച് ഒബ്ജക്റ്റ് ഫയൽ രജിസ്റ്റർ ചെയ്യേണ്ടതുണ്ട്
mono_aot_register_module ഫംഗ്‌ഷൻ അതിന്റെ ആർഗ്യുമെന്റായി എടുക്കുന്നു
mono_aot_module_ ഒബ്‌ജക്റ്റ് ഫയലിൽ നിന്നുള്ള _info ആഗോള ചിഹ്നം:

ബാഹ്യ ശൂന്യത *mono_aot_module_hello_info;

mono_aot_register_module (mono_aot_module_hello_info);

സ്ഥിതിവിവരക്കണക്കുകൾ AOT കംപൈലേഷൻ സമയത്ത് ശേഖരിച്ച വിവിധ സ്ഥിതിവിവരക്കണക്കുകൾ അച്ചടിക്കുക.

ത്രെഡുകൾ=[നമ്പർ]
AOT കമ്പൈലറിന് ഒന്നിലധികം ത്രെഡുകൾ ഉപയോഗിക്കുന്നതിനുള്ള ഒരു പരീക്ഷണാത്മക ഓപ്ഷനാണിത്
രീതികൾ കംപൈൽ ചെയ്യുമ്പോൾ.

ടൂൾ-പ്രിഫിക്സ്=
മുൻകൈയെടുക്കുന്നു AOT കമ്പൈലർ പ്രവർത്തിപ്പിക്കുന്ന ഉപകരണങ്ങളുടെ പേരിലേക്ക്, അതായത്
'as'/'ld'. ഉദാഹരണത്തിന്, --tool=prefix=arm-linux-gnueabi- AOT ഉണ്ടാക്കും
കംപൈലർ റൺ

എഴുത്ത്-ചിഹ്നങ്ങൾ
ഡീബഗ് ചിഹ്ന വിവരങ്ങൾ പുറത്തുവിടാൻ AOT കംപൈലറിന് നിർദ്ദേശം നൽകുന്നു.

AOT-യെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക്, കാണുക: http://www.mono-project.com/docs/advanced/aot/

--അറ്റാച്ചുചെയ്യുക=[ഓപ്ഷനുകൾ]
നിലവിൽ ഈ കമാൻഡ് ലൈൻ ആർഗ്യുമെന്റ് പിന്തുണയ്ക്കുന്ന ഒരേയൊരു ഓപ്ഷൻ ആണ് അപ്രാപ്തമാക്കുക ഏത്
അറ്റാച്ച് പ്രവർത്തനം പ്രവർത്തനരഹിതമാക്കുന്നു.

--config ഫയലിന്റെ പേര്
ഡിഫോൾട്ട് ഒന്നിന് (ങ്ങൾക്ക്) പകരം നിർദ്ദിഷ്ട കോൺഫിഗറേഷൻ ഫയൽ ലോഡ് ചെയ്യുക. സ്ഥിരസ്ഥിതി
ഫയലുകൾ /etc/mono/config കൂടാതെ ~/.mono/config അല്ലെങ്കിൽ അതിൽ വ്യക്തമാക്കിയ ഫയൽ
സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ MONO_CONFIG എൻവയോൺമെന്റ് വേരിയബിൾ. കാണുക mono-config(5) മാൻ പേജ്
ഈ ഫയലിന്റെ ഫോർമാറ്റിലെ വിശദാംശങ്ങൾ.

--debugger-agent=[ഓപ്ഷനുകൾ]
മോണോ റൺടൈമിനുള്ളിൽ ഒരു ഡീബഗ്ഗിംഗ് ഏജന്റ് ആരംഭിക്കാൻ ഇത് മോണോ റൺടൈമിനോട് നിർദ്ദേശിക്കുന്നു
ഒരു ക്ലയന്റ് യൂസർ ഇന്റർഫേസുമായി ബന്ധിപ്പിക്കുകയും മോണോ പ്രക്രിയയെ നിയന്ത്രിക്കുകയും ചെയ്യും. ഈ
MonoDevelop IDE പോലെയുള്ള IDE-കൾ സാധാരണയായി ഓപ്ഷൻ ഉപയോഗിക്കുന്നു.

ഇനിപ്പറയുന്ന ഓപ്ഷനുകളിലൊന്ന് ഉപയോഗിച്ച് കോൺഫിഗറേഷൻ വ്യക്തമാക്കിയിരിക്കുന്നു:

വിലാസം=ഹോസ്റ്റ്:പോർട്ട്
നിങ്ങളുടെ ഡീബഗ്ഗർ ക്ലയന്റ് എവിടെയാണെന്ന് IP വിലാസം വ്യക്തമാക്കാൻ ഈ ഓപ്ഷൻ ഉപയോഗിക്കുക
ശ്രവിക്കുന്ന.

ലോഗ്‌ലെവൽ=ലെവൽ
എന്നതിനായുള്ള ഡയഗ്നോസ്റ്റിക്സ് ലോഗ് ലെവൽ വ്യക്തമാക്കുന്നു

logfile=ഫയലിന്റെ പേര്
ലോഗ് സംഭരിക്കുന്ന ഫയൽ വ്യക്തമാക്കാൻ ഉപയോഗിക്കുന്നു, അത് സ്ഥിരസ്ഥിതിയായി മാറുന്നു
സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ട്.

സെർവർ=[y/n]
ഡിഫോൾട്ടായ നോ എന്നതിലേക്കുള്ള ഡിഫോൾട്ടുകൾ, ഡിഫോൾട്ട് ഓപ്‌ഷൻ ഉപയോഗിച്ച് മോണോ എന്നതിലേക്ക് സജീവമായി ബന്ധിപ്പിക്കും
ഹോസ്റ്റ്/പോർട്ട് കോൺഫിഗർ ചെയ്തിരിക്കുന്നത് വിലാസം ഓപ്ഷൻ. നിങ്ങൾ അതിനെ 'y' ആയി സജ്ജമാക്കുകയാണെങ്കിൽ, അത്
മോണോ അവിടെ സെർവർ മോഡിൽ ഡീബഗ്ഗിംഗ് ആരംഭിക്കാൻ മോണോ റൺടൈമിനോട് നിർദ്ദേശിക്കുന്നു
മോണോ പ്രോസസിലേക്ക് കണക്റ്റ് ചെയ്യുന്നതിനായി ഡീബഗ്ഗർ ഫ്രണ്ട് എൻഡ് സജീവമായി കാത്തിരിക്കുന്നു.
മോണോ അത് കേൾക്കുന്ന ഐപി വിലാസവും പോർട്ടും തിരിച്ചറിയാൻ പ്രിന്റ് ഔട്ട് ചെയ്യും.

setpgid=[y/n]
അതെ എന്ന് സെറ്റ് ചെയ്താൽ മോണോ വിളിക്കും setpgid(0, 0) on സ്റ്റാർട്ടപ്പ്, if ഫംഗ്ഷൻ is
ലഭ്യമായ on The സിസ്റ്റം. is ഉപകാരപ്രദമാണ് വേണ്ടി ഉറപ്പാക്കുന്നു സിഗ്നലുകൾ വിതരണം ചെയ്തു
ലേക്ക് a പ്രക്രിയ is നടപ്പിലാക്കുന്നു The ഡീബഗ്ഗി ആകുന്നു അല്ല പ്രചരിപ്പിച്ചു ലേക്ക് The
ഡീബഗ്ഗി, ഉദാ എപ്പോൾ Ctrl-C അയയ്ക്കുന്നു അടയാളം ലേക്ക് The sdb ഉപകരണം.

താൽക്കാലികമായി നിർത്തുക=[y/n]
ഡിഫോൾട്ടുകൾ അതെ എന്നതിലേക്ക്, സ്ഥിരസ്ഥിതി ഓപ്ഷൻ ഉപയോഗിച്ച് മോണോ സ്റ്റാർട്ടപ്പിൽ vm താൽക്കാലികമായി നിർത്തും
ഒരു ഡീബഗ്ഗർ ഫ്രണ്ട് എൻഡിലേക്ക് വിജയകരമായി കണക്‌റ്റ് ചെയ്യുന്നതുവരെ. നിങ്ങൾ അത് സജ്ജമാക്കുകയാണെങ്കിൽ
'n', എന്നിവയുമായി ചേർന്ന് സെർവർ=y, മോണോ റൺടൈം ആയി പ്രവർത്തിക്കാൻ ഇത് നിർദ്ദേശിക്കുന്നു
സാധാരണ, ഡീബഗ്ഗർ ഫ്രണ്ട് എൻഡിലേക്ക് അയയ്ക്കാൻ മെറ്റാഡാറ്റ കാഷെ ചെയ്യുമ്പോൾ
കണക്ഷൻ..

ഗതാഗതം=ഗതാഗത_നാമം
ഡീബഗ്ഗർ ഉപയോഗിക്കുന്ന ഗതാഗതം വ്യക്തമാക്കാൻ ഇത് ഉപയോഗിക്കുന്നു
ആശയവിനിമയം നടത്തുക. ഇത് വ്യക്തമാക്കിയിരിക്കണം, നിലവിൽ ഇത് ആവശ്യമാണ്
'dt_socket'.

--ഡെസ്ക്ടോപ്പ്
ഡെസ്‌ക്‌ടോപ്പ് ആപ്ലിക്കേഷനുകൾക്ക് കൂടുതൽ അനുയോജ്യമായ രീതിയിൽ വെർച്വൽ മെഷീൻ കോൺഫിഗർ ചെയ്യുന്നു.
നിലവിൽ, കൂമ്പാരം പരമാവധി വികസിപ്പിക്കുന്നത് ഒഴിവാക്കാൻ ഇത് ജിസി സംവിധാനത്തെ സജ്ജമാക്കുന്നു
മാലിന്യ ശേഖരണം അൽപ്പം മന്ദഗതിയിലാക്കിയതിന്റെ ചെലവിൽ.

--full-aot
മോണോ റൺടൈം ഒന്നും ജനറേറ്റ് ചെയ്യരുതെന്ന് നിർദ്ദേശിക്കുന്ന ഒരു പരീക്ഷണാത്മക ഫ്ലാഗ് ആണിത്
റൺടൈമിലെ കോഡ് കൂടാതെ മോണോ ഉപയോഗിച്ച് സൃഷ്ടിക്കുന്ന കോഡിനെ മാത്രം ആശ്രയിച്ചിരിക്കുന്നു
--aot=മുമ്പ് മുഴുവൻ. ഡൈനാമിക് അനുവദിക്കാത്ത പ്ലാറ്റ്ഫോമുകൾക്ക് ഇത് ഉപയോഗപ്രദമാണ്
കോഡ് ജനറേഷൻ. എങ്കിൽ ഈ ഫീച്ചർ റൺടൈമിൽ എക്‌സിക്യൂഷൻ നിർത്തലാക്കുമെന്നത് ശ്രദ്ധിക്കുക
നിങ്ങളുടെ പ്രോഗ്രാമിലെ കോഡ്പാത്ത് അല്ലെങ്കിൽ മോണോയുടെ ക്ലാസ് ലൈബ്രറികൾ കോഡ് സൃഷ്ടിക്കാൻ ശ്രമിക്കുന്നു
ചലനാത്മകമായി. നിങ്ങളുടെ സോഫ്‌റ്റ്‌വെയർ മുൻകൂറായി പരീക്ഷിക്കുകയും ഇല്ലെന്ന് ഉറപ്പാക്കുകയും വേണം
ഏതെങ്കിലും ചലനാത്മക സവിശേഷതകൾ ഉപയോഗിക്കുക.

--gc=boehm, --gc=sgen
മോണോ ഉപയോഗിക്കുന്നതിന് ഗാർബേജ് കളക്ടർ എഞ്ചിൻ തിരഞ്ഞെടുക്കുന്നു, Boehm അല്ലെങ്കിൽ SGen. നിലവിൽ
നിങ്ങൾ ഒന്നുകിൽ പ്രവർത്തിക്കുന്നുവെന്ന് ഇത് ഉറപ്പാക്കുന്നു മോണോ or മോണോ-എസ്ജെൻ കമാൻഡുകൾ.
എന്നതിൽ ഈ പതാക സ്ഥാപിക്കാവുന്നതാണ് MONO_ENV_OPTIONS എല്ലാം നിർബന്ധിക്കാൻ പരിസ്ഥിതി വേരിയബിൾ
മോണോ റൺടൈമിനൊപ്പം ഒരു പ്രത്യേക തരം ജിസി ഉപയോഗിക്കാൻ നിങ്ങളുടെ കുട്ടി പ്രോസസ്സ് ചെയ്യുന്നു.

--സഹായിക്കൂ, -h
ഉപയോഗ നിർദ്ദേശങ്ങൾ പ്രദർശിപ്പിക്കുന്നു.

--llvm LLVM പിന്തുണയോടെയാണ് മോണോ റൺടൈം സമാഹരിച്ചതെങ്കിൽ (എല്ലാത്തിലും ലഭ്യമല്ല
കോൺഫിഗറേഷനുകൾ), മോണോ LLVM ഒപ്റ്റിമൈസേഷനും കോഡ് ജനറേഷൻ എഞ്ചിനും ഉപയോഗിക്കും
JIT അല്ലെങ്കിൽ AOT കംപൈൽ. കൂടുതൽ വിവരങ്ങൾക്ക്, ബന്ധപ്പെടുക: http://www.mono-
project.com/docs/advanced/mono-llvm/

--nollvm
LLVM പിന്തുണയോടെ സമാഹരിച്ച ഒരു മോണോ ഉപയോഗിക്കുമ്പോൾ, അത് മോണോയെ നിർബന്ധിക്കുന്നു
അതിന്റെ JIT എഞ്ചിനിലേക്ക് മടങ്ങുകയും LLVM ബാക്കെൻഡ് ഉപയോഗിക്കാതിരിക്കുകയും ചെയ്യുന്നു.

--optimize=MODE, -O=MODE
MODE എന്നത് കോമയാൽ വേർതിരിച്ച ഒപ്റ്റിമൈസേഷനുകളുടെ ഒരു ലിസ്റ്റാണ്. അവ ഒപ്റ്റിമൈസേഷനുകളും അനുവദിക്കുന്നു
ഒരു മൈനസ് ചിഹ്നം ഉപയോഗിച്ച് ഒപ്റ്റിമൈസേഷൻ നാമം പ്രിഫിക്‌സ് ചെയ്‌ത് ഓഫാക്കുക. പൊതുവായി,
ഈ ഫ്ലാഗുകൾ ഉപയോഗിക്കുന്നതിന് മുമ്പ്, ഫ്ലാഗുകളുടെ ഡിഫോൾട്ട് സെറ്റ് ഉപയോഗിക്കുന്നതിന് മോണോ ട്യൂൺ ചെയ്തിട്ടുണ്ട്
വിന്യാസ ക്രമീകരണം, അവ ഉപയോഗിക്കുന്നതിന്റെ പ്രയോജനങ്ങൾ നിങ്ങൾ യഥാർത്ഥത്തിൽ അളക്കാൻ ആഗ്രഹിച്ചേക്കാം.
കോർ എഞ്ചിനിൽ ഇനിപ്പറയുന്ന ഒപ്റ്റിമൈസേഷൻ ഫ്ലാഗുകൾ നടപ്പിലാക്കുന്നു:
abcrem അറേ ബൗണ്ട് ചെക്കുകൾ നീക്കം
എല്ലാം എല്ലാ ഒപ്റ്റിമൈസേഷനുകളും ഓണാക്കുക
aot കംപൈൽ ചെയ്ത കോഡിന്റെ അഹെഡ് ഓഫ് ടൈം ഉപയോഗം
ബ്രാഞ്ച് ഒപ്റ്റിമൈസേഷനുകൾ
cfold സ്ഥിരമായ മടക്കൽ
cmov സോപാധിക നീക്കങ്ങൾ [ആർച്ച്-ആശ്രിതത്വം]
deadce ഡെഡ് കോഡ് ഒഴിവാക്കൽ
consprop നിരന്തരമായ പ്രചരണം
copyprop കോപ്പി പ്രചരണം
fcmov ഫാസ്റ്റ് x86 FP താരതമ്യം ചെയ്യുന്നു [ആർച്ച്-ഡിപെൻഡൻസി]
float32 32-ബിറ്റ് പ്രവർത്തനങ്ങൾ ഉപയോഗിച്ച് 32-ബിറ്റ് ഫ്ലോട്ട് അരിത്മെറ്റിക് നടത്തുക
gshared പൊതുവായ കോഡ് പങ്കിടൽ പ്രാപ്തമാക്കുക.
ഇൻലൈൻ ഇൻലൈൻ രീതി കോളുകൾ
അന്തർലീനമായ രീതി നടപ്പിലാക്കലുകൾ
ലീനിയറുകൾ ലീനിയർ സ്കാൻ ആഗോള റെഗ് അലോക്കേഷൻ
ഇല ഇല നടപടിക്രമങ്ങൾ ഒപ്റ്റിമൈസേഷനുകൾ
ലൂപ്പ് ലൂപ്പുമായി ബന്ധപ്പെട്ട ഒപ്റ്റിമൈസേഷനുകൾ
പീഫോൾ പീഫോൾ പോസ്റ്റ്പാസ്
precomp മെയിൻ പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് എല്ലാ രീതികളും പ്രീകംപൈൽ ചെയ്യുക
ഷെഡ് ഇൻസ്ട്രക്ഷൻ ഷെഡ്യൂളിംഗ്
എമിറ്റ് പെർ-ഡൊമെയ്‌ൻ കോഡ് പങ്കിട്ടു
x2 [ആർച്ച്-ഡിപൻഡൻസി]-ലെ sse2 SSE86 നിർദ്ദേശങ്ങൾ
tailc ടെയിൽ റിക്കർഷനും ടെയിൽ കോളുകളും
ഉദാഹരണത്തിന്, എല്ലാ ഒപ്റ്റിമൈസേഷനും എന്നാൽ ഡെഡ് കോഡ് എലിമിനേഷനും ഇൻലൈനിംഗും പ്രവർത്തനക്ഷമമാക്കാൻ,
നിങ്ങൾക്ക് ഇത് ഉപയോഗിക്കാം:
-ഒ=എല്ലാം,-മരിച്ച,-ഇൻലൈൻ
[ആർച്ച്-ആശ്രിതത്വം] ഉപയോഗിച്ച് ഫ്ലാഗുചെയ്‌ത ഫ്ലാഗുകൾ, തന്നിരിക്കുന്ന ഓപ്‌ഷൻ എങ്കിൽ എന്ന് സൂചിപ്പിക്കുന്നു
എഹെഡ് ഓഫ് ടൈം കംപൈലേഷനുമായി സംയോജിപ്പിച്ച് ഉപയോഗിക്കുന്നത് (--aot ഫ്ലാഗ്) പ്രീ-ഉൽപാദിപ്പിക്കും
കംപൈൽ ചെയ്ത കോഡ്, അത് നിലവിലെ സിപിയുവിനെ ആശ്രയിച്ചിരിക്കും, അത് സുരക്ഷിതമായി നീക്കിയേക്കില്ല
മറ്റൊരു കമ്പ്യൂട്ടർ.

ഇനിപ്പറയുന്ന ഒപ്റ്റിമൈസേഷനുകൾ പിന്തുണയ്ക്കുന്നു

ഫ്ലോട്ട് 32
റൺടൈം ഉപയോഗിച്ച് 32-ബിറ്റ് ഫ്ലോട്ടിംഗ് പോയിന്റ് പ്രവർത്തനങ്ങൾ നടത്താൻ അഭ്യർത്ഥിക്കുന്നു
32-ബിറ്റുകൾ മാത്രം. ഡിഫോൾട്ടായി മോണോ റൺടൈം ഏറ്റവും ഉയർന്നത് ഉപയോഗിക്കാൻ ശ്രമിക്കുന്നു
ഫ്ലോട്ടിംഗ് പോയിന്റ് പ്രവർത്തനങ്ങൾക്ക് കൃത്യത ലഭ്യമാണ്, എന്നാൽ ഇത് സാധ്യമാകുമ്പോൾ
മികച്ച ഫലങ്ങൾ നൽകുന്നു, കോഡ് മന്ദഗതിയിലായേക്കാം. ഈ ഓപ്ഷനുകളും
LLVM ബാക്കെൻഡ് സൃഷ്ടിച്ച കോഡിനെ ബാധിക്കുന്നു.

ഇൻലൈൻ റൺടൈം ഇൻലൈൻ ചെയ്യാൻ ശ്രമിക്കണമോ (സ്ഥിരസ്ഥിതി) ആണോ എന്ന് നിയന്ത്രിക്കുന്നു
ഇൻലൈൻ രീതികൾ അഭ്യർത്ഥനകൾ

--റൺടൈം=VERSION
മോണോ വ്യത്യസ്ത റൺടൈം പതിപ്പുകളെ പിന്തുണയ്ക്കുന്നു. ഉപയോഗിച്ച പതിപ്പ് പ്രോഗ്രാമിനെ ആശ്രയിച്ചിരിക്കുന്നു
അത് റൺ ചെയ്യുകയോ അതിന്റെ കോൺഫിഗറേഷൻ ഫയലിലോ ആണ് (program.exe.config എന്ന് പേരിട്ടിരിക്കുന്നത്). ഈ
മറ്റൊരു റൺടൈം നിർബന്ധിച്ച് അത്തരം ഓട്ടോഡിറ്റക്ഷൻ അസാധുവാക്കാൻ ഓപ്ഷൻ ഉപയോഗിക്കാം
ഉപയോഗിക്കേണ്ട പതിപ്പ്. പിന്നീട് അനുയോജ്യമായത് തിരഞ്ഞെടുക്കാൻ മാത്രമേ ഇത് ഉപയോഗിക്കാവൂ എന്നത് ശ്രദ്ധിക്കുക
പ്രോഗ്രാം കംപൈൽ ചെയ്തതിനേക്കാൾ റൺടൈം പതിപ്പ്. ഒരു സാധാരണ ഉപയോഗം ആണ്
1.1 പതിപ്പിൽ 2.0 പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുന്നതിന്:
mono --runtime=v2.0.50727 program.exe

--സുരക്ഷ, --security=mode
മോണോയിലെ നിലവിൽ പരീക്ഷണാത്മക ഫീച്ചറായ സെക്യൂരിറ്റി മാനേജർ സജീവമാക്കുക
ഡിഫോൾട്ടായി ഓഫ്. ഈ ഓപ്ഷൻ ഉപയോഗിച്ചും പുതിയ കോഡ് വെരിഫയർ പ്രവർത്തനക്ഷമമാക്കാം.

പാരാമീറ്ററുകൾ ഇല്ലാതെ സുരക്ഷ ഉപയോഗിക്കുന്നത് "cas" എന്ന് വിളിക്കുന്നതിന് തുല്യമാണ്
പാരാമീറ്റർ.

ഇനിപ്പറയുന്ന മോഡുകൾ പിന്തുണയ്ക്കുന്നു:

core-clr
സാധാരണയായി ഉപയോഗിക്കുന്ന കോർ-സിഎൽആർ സുരക്ഷാ സംവിധാനം പ്രവർത്തനക്ഷമമാക്കുന്നു
മൂൺലൈറ്റ്/സിൽവർലൈറ്റ് ആപ്ലിക്കേഷനുകൾ. ഇത് വളരെ ലളിതമായ സുരക്ഷ നൽകുന്നു
CAS നേക്കാൾ സിസ്റ്റം, കാണുക http://www.mono-project.com/docs/web/moonlight/ വേണ്ടി
ഈ പുതിയ സിസ്റ്റത്തിന്റെ വിവരണങ്ങളിലേക്കുള്ള കൂടുതൽ വിശദാംശങ്ങളും ലിങ്കുകളും.

വാലിഡിൽ
പുതിയ വെരിഫയർ പ്രവർത്തനക്ഷമമാക്കുകയും കോഡ് സാധുതയ്ക്കായി അടിസ്ഥാന പരിശോധന നടത്തുകയും ചെയ്യുന്നു.
ഈ മോഡിൽ, സുരക്ഷിതമല്ലാത്ത കോഡും പി/ഇൻവോക്കും അനുവദനീയമാണ്. ഈ മോഡ് എ നൽകുന്നു
മികച്ച സുരക്ഷാ ഗ്യാരന്റി എന്നാൽ നിയന്ത്രിത കോഡ് തകരാറിലാകുന്നത് ഇപ്പോഴും സാധ്യമാണ്
മോണോ.

പരിശോധിക്കുക
പുതിയ വെരിഫയർ പ്രവർത്തനക്ഷമമാക്കുകയും കോഡിന്റെ പൂർണ്ണ പരിശോധന നടത്തുകയും ചെയ്യുന്നു
വധിച്ചു. ഇത് പരിശോധിക്കാവുന്ന കോഡ് മാത്രമേ എക്സിക്യൂട്ട് ചെയ്യാൻ അനുവദിക്കൂ. സുരക്ഷിതമല്ലാത്ത കോഡ് ആണ്
അനുവദനീയമല്ല എന്നാൽ P/Invoke ആണ്. നിയന്ത്രിത കോഡിനെ ഈ മോഡ് അനുവദിക്കരുത്
ക്രാഷ് മോണോ. സ്ഥിരീകരണം ECMA 335 നിലവാരം പോലെ കർശനമല്ല
MS റൺടൈമുമായി പൊരുത്തപ്പെടാൻ.

സുരക്ഷാ സംവിധാനം ഉപയോക്തൃ കോഡിൽ പ്രവർത്തിക്കുന്നു: mscorlib അല്ലെങ്കിൽ ഗ്ലോബലിൽ അടങ്ങിയിരിക്കുന്ന കോഡ്
അസംബ്ലി കാഷെ എപ്പോഴും വിശ്വസനീയമാണ്.

--സെർവർ
സെർവർ പ്രവർത്തനങ്ങൾക്ക് കൂടുതൽ അനുയോജ്യമാകുന്ന തരത്തിൽ വെർച്വൽ മെഷീൻ കോൺഫിഗർ ചെയ്യുന്നു
(നിലവിൽ, ഭാരമേറിയ ത്രെഡ്‌പൂൾ സമാരംഭം അനുവദിക്കുന്നു).

--എല്ലാം സ്ഥിരീകരിക്കുക
സാധുതയുള്ള IL-നും എല്ലാത്തിനും ആഗോള അസംബ്ലി കാഷെയിൽ mscorlib, അസംബ്ലികൾ എന്നിവ സ്ഥിരീകരിക്കുന്നു
IL സ്ഥിരീകരണത്തിനുള്ള ഉപയോക്തൃ കോഡ്.

ഇതിൽ നിന്ന് വ്യത്യസ്തമാണ് --സുരക്ഷഈ ഓപ്‌ഷനുകളിൽ പരിശോധിക്കാവുന്നതാണ് അല്ലെങ്കിൽ സാധുതയുള്ളതാണ്
ഉപയോക്തൃ കോഡ് മാത്രം പരിശോധിച്ച് ആഗോളതലത്തിൽ സ്ഥിതിചെയ്യുന്ന mscorlib ഉം അസംബ്ലികളും ഒഴിവാക്കുക
അസംബ്ലി കാഷെ.

-V, --പതിപ്പ്
JIT പതിപ്പ് വിവരങ്ങൾ പ്രിന്റ് ചെയ്യുന്നു (സിസ്റ്റം കോൺഫിഗറേഷൻ, റിലീസ് നമ്പർ, ബ്രാഞ്ച്
പേരുകൾ ലഭ്യമാണെങ്കിൽ).

വികാസം ഓപ്ഷനുകൾ


ഒരു JITed ആപ്ലിക്കേഷൻ വികസിപ്പിക്കുമ്പോൾ സഹായിക്കാൻ ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ ഉപയോഗിക്കുന്നു.

--ഡീബഗ്, --ഡീബഗ്=ഓപ്ഷനുകൾ
റൺടൈമിൽ ഡീബഗ്ഗിംഗ് മോഡ് ഓണാക്കുന്നു. ഒരു അസംബ്ലി കംപൈൽ ചെയ്തിരുന്നെങ്കിൽ
ഡീബഗ്ഗിംഗ് വിവരങ്ങൾ, ഇത് സ്റ്റാക്ക് ട്രെയ്‌സുകൾക്കായി ലൈൻ നമ്പർ വിവരങ്ങൾ നൽകും.

ഓപ്ഷണൽ OPTIONS ആർഗ്യുമെന്റ് ഡീബഗ്ഗിംഗ് ഓപ്‌ഷനുകളുടെ ഒരു കോമ വേർതിരിക്കപ്പെട്ട പട്ടികയാണ്.
ഈ ഓപ്‌ഷനുകൾ ഡിഫോൾട്ടായി ഓഫാക്കിയിരിക്കുന്നു, കാരണം അവ വളരെ വലുതും വേഗത കുറഞ്ഞതുമാണ്
റൺടൈമിൽ കോഡ്.

ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ പിന്തുണയ്ക്കുന്നു:

കാസ്റ്റുകൾ InvalidCastException എറിയുമ്പോൾ വിശദമായ ഒരു പിശക് സൃഷ്ടിക്കുന്നു. ഈ
എക്സിക്യൂഷൻ സമയത്ത് ഇത് കൂടുതൽ വെർബോസ് കോഡ് സൃഷ്ടിക്കുന്നതിനാൽ ഓപ്ഷൻ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്
സമയം.

mdb-ഒപ്റ്റിമൈസേഷനുകൾ
സാധാരണയായി പ്രവർത്തിക്കുമ്പോൾ മാത്രം പ്രവർത്തനരഹിതമാക്കുന്ന ചില JIT ഒപ്റ്റിമൈസേഷനുകൾ പ്രവർത്തനരഹിതമാക്കുക
ഡീബഗ്ഗറിനുള്ളിൽ. നിങ്ങൾക്ക് അറ്റാച്ചുചെയ്യണമെങ്കിൽ ഇത് സഹായകമാകും
mdb ഉപയോഗിച്ച് പ്രവർത്തിപ്പിക്കുന്ന പ്രക്രിയ.

ജിഡിബി ജിഡിബി ഉപയോഗിച്ച് ഡീബഗ്ഗിംഗ് വിവരങ്ങൾ സൃഷ്ടിക്കുകയും രജിസ്റ്റർ ചെയ്യുകയും ചെയ്യുക. ഇത് പിന്തുണയ്ക്കുക മാത്രമാണ് ചെയ്യുന്നത്
ചില പ്ലാറ്റ്‌ഫോമുകളിൽ, gdb 7.0 അല്ലെങ്കിൽ അതിനുശേഷമുള്ളത് ഉപയോഗിക്കുമ്പോൾ മാത്രം.

--പ്രൊഫൈൽ[=പ്രൊഫൈലർ[:profiler_args]]
പ്രൊഫൈലിംഗ് ഓണാക്കുന്നു. പ്രൊഫൈലിംഗ് ആപ്ലിക്കേഷനുകളും കോഡും സംബന്ധിച്ച കൂടുതൽ വിവരങ്ങൾക്ക്
കവറേജ് താഴെയുള്ള "പ്രൊഫൈലിംഗ്", "കോഡ് കവറേജ്" എന്നീ വിഭാഗങ്ങൾ കാണുക.

ഈ ഓപ്ഷൻ ഒന്നിലധികം തവണ ഉപയോഗിക്കാം, ഓരോ തവണയും ഒരു ലോഡ് ചെയ്യും
അധിക പ്രൊഫൈലർ. ഇത് JIT വിപുലീകരിക്കുന്ന മൊഡ്യൂളുകൾ ഉപയോഗിക്കാൻ ഡെവലപ്പർമാരെ അനുവദിക്കുന്നു
മോണോ പ്രൊഫൈലിംഗ് ഇന്റർഫേസിലൂടെ.

--ട്രേസ്[= എക്സ്പ്രഷൻ]
അഭ്യർത്ഥിക്കുമ്പോൾ രീതിയുടെ പേരുകൾ കാണിക്കുന്നു. സ്ഥിരസ്ഥിതിയായി, എല്ലാ രീതികളും കണ്ടെത്തുന്നു. ദി
രീതികളോ ക്ലാസുകളോ അസംബ്ലികളോ ഉൾപ്പെടുത്തുന്നതിനോ ഒഴിവാക്കുന്നതിനോ ട്രെയ്സ് ഇഷ്ടാനുസൃതമാക്കാം. എ
ട്രെയ്‌സ് എക്‌സ്‌പ്രഷൻ എന്നത് കോമയാൽ വേർതിരിച്ച ടാർഗെറ്റുകളുടെ പട്ടികയാണ്, ഓരോ ലക്ഷ്യവും പ്രിഫിക്‌സ് ചെയ്യാം
ഒരു പ്രത്യേക ടാർഗെറ്റ് ഓഫ് ചെയ്യാനുള്ള മൈനസ് ചിഹ്നം. 'പ്രോഗ്രാം', 'എല്ലാം' എന്നീ വാക്കുകൾ
'വികലാംഗർ' എന്നതിന് പ്രത്യേക അർത്ഥമുണ്ട്. 'പ്രോഗ്രാം' എന്നത് പ്രധാന പ്രോഗ്രാമിനെ സൂചിപ്പിക്കുന്നു
എക്സിക്യൂട്ട് ചെയ്തു, കൂടാതെ `എല്ലാം' എന്നാൽ എല്ലാ മെത്തേഡ് കോളുകളും എന്നാണ് അർത്ഥമാക്കുന്നത്. `ഡിസേബിൾഡ്' ഓപ്ഷൻ ഉപയോഗിക്കുന്നു
ട്രേസിംഗ് അപ്രാപ്തമാക്കി ഉപയോഗിച്ച് ആരംഭിക്കുക. പിന്നീടുള്ള ഒരു ഘട്ടത്തിൽ ഇത് പ്രവർത്തനക്ഷമമാക്കാം
SIGUSR2 സിഗ്നൽ റൺടൈമിലേക്ക് അയച്ചുകൊണ്ട് പ്രോഗ്രാം ചെയ്യുക. അസംബ്ലികൾ വ്യക്തമാക്കുന്നു
അവരുടെ പേര്, ഉദാഹരണത്തിന്, സിസ്റ്റം അസംബ്ലിയിലെ എല്ലാ കോളുകളും കണ്ടെത്തുന്നതിന്, ഉപയോഗിക്കുക:

mono --trace=സിസ്റ്റം app.exe

ക്ലാസുകൾ ടി: പ്രിഫിക്‌സ് ഉപയോഗിച്ച് വ്യക്തമാക്കിയിരിക്കുന്നു. ഉദാഹരണത്തിന്, ഇതിലേക്കുള്ള എല്ലാ കോളുകളും ട്രാക്ക് ചെയ്യാൻ
System.String ക്ലാസ്, ഉപയോഗിക്കുക:

mono --trace=T:System.String app.exe

കൂടാതെ വ്യക്തിഗത രീതികൾ M: പ്രിഫിക്സും സ്റ്റാൻഡേർഡ് രീതിയും ഉപയോഗിച്ച് പരാമർശിക്കുന്നു
നൊട്ടേഷൻ:

mono --trace=M:System.Console:WriteLine app.exe

ഒഴിവാക്കലുകൾ കണ്ടെത്താനും കഴിയും, ഇത് ഓരോ തവണയും ഒരു സ്റ്റാക്ക് ട്രെയ്‌സ് പ്രിന്റ് ചെയ്യാൻ ഇടയാക്കും
നിർദ്ദിഷ്ട തരത്തിലുള്ള ഒരു അപവാദം എറിയുന്നു. ഒഴിവാക്കൽ തരം വ്യക്തമാക്കാം
നെയിംസ്‌പെയ്‌സ് ഉള്ളതോ അല്ലാതെയോ, കൂടാതെ എല്ലാ ഒഴിവാക്കലുകളും കണ്ടെത്തുന്നതിന്, 'എല്ലാം' എന്ന് വ്യക്തമാക്കുക
ടൈപ്പ് പേര്.

mono --trace=E:System.Exception app.exe

മുമ്പ് സൂചിപ്പിച്ചതുപോലെ, ഒരേസമയം വിവിധ നിയമങ്ങൾ വ്യക്തമാക്കാൻ കഴിയും:

mono --trace=T:System.String,T:System.Random app.exe

നിങ്ങൾക്ക് കഷണങ്ങൾ ഒഴിവാക്കാം, അടുത്ത ഉദാഹരണം System.String-ലേക്കുള്ള കോളുകൾ കണ്ടെത്തുന്നു
the System.String:Concat രീതി.

mono --trace=T:System.String,-M:System.String:Concat

നിങ്ങൾക്ക് റാപ്പർ ക്വാളിഫയർ ഉപയോഗിച്ച് മാനേജ് ചെയ്യാത്ത സംക്രമണങ്ങൾ കണ്ടെത്താനാകും:

mono --trace=wrapper app.exe

അവസാനമായി, N: പ്രിഫിക്‌സ് ഉപയോഗിച്ച് നെയിംസ്‌പെയ്‌സുകൾ വ്യക്തമാക്കാം:

mono --trace=N:System.Xml

--no-x86-stack-align
x86 ആർക്കിടെക്ചറിൽ സ്റ്റാക്ക് ഫ്രെയിമുകൾ വിന്യസിക്കരുത്. സ്ഥിരസ്ഥിതിയായി, മോണോ സ്റ്റാക്ക് വിന്യസിക്കുന്നു
x16-ൽ ഫ്രെയിമുകൾ 86 ബൈറ്റുകൾ, അങ്ങനെ ലോക്കൽ ഫ്ലോട്ടിംഗ് പോയിന്റും SIMD വേരിയബിളുകളും ആകാം
ശരിയായി വിന്യസിച്ചു. ഈ ഓപ്‌ഷൻ വിന്യാസം ഓഫാക്കുന്നു, ഇത് സാധാരണയായി ഒന്ന് സംരക്ഷിക്കുന്നു
ഓരോ കോളിനും ഇൻട്രക്ഷൻ, പക്ഷേ ഗണ്യമായി കുറഞ്ഞ ഫ്ലോട്ടിംഗ് പോയിന്റിന് കാരണമായേക്കാം
SIMD പ്രകടനം.

--ജിറ്റ്മാപ്പ്
ഒരു /tmp/perf-PID.map ഫയലിൽ ഒരു JIT രീതി മാപ്പ് സൃഷ്ടിക്കുക. ഈ ഫയൽ പിന്നീട് ഉപയോഗിക്കുന്നു
ഉദാഹരണത്തിന്, സമീപകാല Linux കേർണലുകളിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന perf ടൂൾ വഴി. ഫയലിലെ ഓരോ വരിയും
ഉണ്ട്:

HEXADDR HEXSIZE രീതിനാമം

നിലവിൽ ഈ ഓപ്ഷൻ Linux-ൽ മാത്രമേ പിന്തുണയ്ക്കൂ.

JIT മെയിന്റനർ ഓപ്ഷനുകൾ


റൺടൈം വികസിപ്പിക്കുന്നവർ മാത്രമേ മെയിന്റനർ ഓപ്ഷനുകൾ ഉപയോഗിക്കൂ, അല്ലാതെ
റൺടൈം ഉപയോക്താക്കൾക്കോ ​​ഡവലപ്പർമാർക്കോ താൽപ്പര്യമുള്ളതാണ്.

--ബ്രേക്ക് രീതി
രീതിക്ക് മുമ്പായി ഒരു ബ്രേക്ക്‌പോയിന്റ് ചേർക്കുന്നു, അതിന്റെ പേര് `രീതി'
(namespace.class:methodname). ഒരു ബ്രേക്ക്‌പോയിന്റ് ചേർക്കാൻ രീതിയുടെ നാമമായി `മെയിൻ' ഉപയോഗിക്കുക
ആപ്ലിക്കേഷന്റെ പ്രധാന രീതി. നിങ്ങൾക്ക് ഇത് ജനറിക്‌സ് ഉപയോഗിച്ചും ഉപയോഗിക്കാം, ഉദാഹരണത്തിന്
"System.Collections.Generic.Queue`1:Peek"

--ബ്രേക്കോൺഎക്സ്
ഒഴിവാക്കലുകളിൽ ഒരു ബ്രേക്ക്‌പോയിന്റ് ചേർക്കുന്നു. ഇത് ഉപയോഗിച്ച് നിങ്ങളുടെ ആപ്ലിക്കേഷൻ ഡീബഗ് ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു
ഒരു അപവാദം എറിയുമ്പോൾ ഒരു നേറ്റീവ് ഡീബഗ്ഗർ.

-- സമാഹരിക്കുക പേര്
ഇത് ഒരു രീതി സമാഹരിക്കുന്നു (namespace.name:methodname), ഇത് പരീക്ഷിക്കാൻ ഉപയോഗിക്കുന്നു
കംപൈലർ പ്രകടനം അല്ലെങ്കിൽ കോഡ് ജനറേറ്ററിന്റെ ഔട്ട്പുട്ട് പരിശോധിക്കാൻ.

--compileall
ഒരു അസംബ്ലിയിലെ എല്ലാ രീതികളും സമാഹരിക്കുന്നു. കമ്പൈലർ പരിശോധിക്കാൻ ഇത് ഉപയോഗിക്കുന്നു
പ്രകടനം അല്ലെങ്കിൽ കോഡ് ജനറേറ്ററിന്റെ ഔട്ട്പുട്ട് പരിശോധിക്കാൻ

--graph=TYPE രീതി
ഇത് വ്യക്തമാക്കിയതിനെക്കുറിച്ചുള്ള വിശദാംശങ്ങളുള്ള ഒരു ഗ്രാഫ് ഉള്ള ഒരു പോസ്റ്റ്‌സ്‌ക്രിപ്റ്റ് ഫയൽ സൃഷ്ടിക്കുന്നു
രീതി (namespace.name:methodname). ഇതിന് `ഡോട്ടും' ഗോസ്റ്റ് വ്യൂവും ആവശ്യമാണ്
ഇൻസ്റ്റാൾ ചെയ്തു (Ghostview "gv" എന്ന് വിളിക്കപ്പെടുമെന്ന് പ്രതീക്ഷിക്കുന്നു). ഇനിപ്പറയുന്ന ഗ്രാഫുകൾ
ലഭ്യമാണ്:
cfg കൺട്രോൾ ഫ്ലോ ഗ്രാഫ് (CFG)
dtree ഡോമിനർ ട്രീ
കോഡ് CFG കാണിക്കുന്നു
SSA വിവർത്തനത്തിന് ശേഷം കോഡ് കാണിക്കുന്ന ssa CFG
ഐആർ ഒപ്റ്റിമൈസേഷനുശേഷം കോഡ് കാണിക്കുന്ന സിഎഫ്ജി ഒപ്‌കോഡ്
ചില ഒപ്റ്റിമൈസേഷനുകൾ ഓണാക്കിയാൽ മാത്രമേ ചില ഗ്രാഫുകൾ ലഭ്യമാകൂ.

--ncompile
--compile-ൽ നൽകിയിരിക്കുന്ന രീതി എത്ര തവണ എന്ന് റൺടൈം നിർദ്ദേശിക്കുക
(അല്ലെങ്കിൽ --compileall ഉപയോഗിക്കുകയാണെങ്കിൽ എല്ലാ രീതികളും) കംപൈൽ ചെയ്യണം. ഇതിനായി ഉപയോഗിക്കുന്നു
കോഡ് ജനറേറ്ററിന്റെ പ്രകടനം പരിശോധിക്കുന്നു.

-- സ്ഥിതിവിവരക്കണക്കുകൾ
ഒരു എക്സിക്യൂഷൻ സമയത്ത് റൺടൈം ചെയ്ത ജോലിയെക്കുറിച്ചുള്ള വിവരങ്ങൾ പ്രദർശിപ്പിക്കുന്നു
അപേക്ഷ.

--wapi=hps|semdel
പ്രക്രിയ പങ്കിട്ട ഡാറ്റയുടെ അറ്റകുറ്റപ്പണി നടത്തുക. semdel ഗ്ലോബൽ ഇല്ലാതാക്കും
സെമാഫോർ. hps നിലവിൽ ഉപയോഗിക്കുന്ന ഹാൻഡിലുകൾ ലിസ്റ്റ് ചെയ്യും.

-v, --വാക്കുകൾ
വെർബോസിറ്റി ലെവൽ വർദ്ധിപ്പിക്കുന്നു, ഓരോ തവണയും ലിസ്റ്റ് ചെയ്യപ്പെടുമ്പോൾ, വാചാലത വർദ്ധിപ്പിക്കുന്നു
കൂടുതൽ വിവരങ്ങൾ ഉൾപ്പെടുത്തുന്നതിനുള്ള ലെവൽ (ഉദാഹരണത്തിന്, ഒരു ഡിസ്അസംബ്ലിംഗ് ഉൾപ്പെടെ
നിർമ്മിച്ച നേറ്റീവ് കോഡ്, കോഡ് സെലക്ടർ വിവരങ്ങൾ മുതലായവ).

അറ്റാച്ചുചെയ്യുക പിന്തുണ


മോണോ റൺടൈം ഒരു റണ്ണിംഗ് പ്രോസസിലേക്ക് അറ്റാച്ച് ചെയ്യാനും ലോഡ് ചെയ്യാനും ബാഹ്യ പ്രോസസ്സുകളെ അനുവദിക്കുന്നു
പ്രവർത്തിക്കുന്ന പ്രോഗ്രാമിലേക്ക് അസംബ്ലികൾ. പ്രക്രിയയുമായി ബന്ധിപ്പിക്കുന്നതിന്, ഒരു പ്രത്യേക പ്രോട്ടോക്കോൾ ആണ്
മോണോ.മാനേജ്മെന്റ് അസംബ്ലിയിൽ നടപ്പിലാക്കി.

ഈ പിന്തുണയോടെ ഒരു എൻട്രി പോയിന്റുള്ള അസംബ്ലികൾ ലോഡ് ചെയ്യാൻ സാധിക്കും (അവ
മോണോ പ്രോസസിൽ ലോഡ് ചെയ്യാനും എക്സിക്യൂട്ട് ചെയ്യാനും -target:exe അല്ലെങ്കിൽ -target:winexe) ഉപയോഗിച്ച് സൃഷ്ടിച്ചത്.

റൂട്ട് ഡൊമെയ്‌നിലേക്ക് കോഡ് ലോഡുചെയ്‌തു, അത് പ്രത്യേക റൺടൈമിൽ എക്‌സിക്യൂഷൻ ആരംഭിക്കുന്നു
ത്രെഡ് അറ്റാച്ചുചെയ്യുക. അറ്റാച്ച് ചെയ്‌ത പ്രോഗ്രാം അതിന്റേതായ ത്രെഡുകൾ സൃഷ്‌ടിക്കുകയും അതിനുശേഷം മടങ്ങുകയും വേണം
അഭ്യർത്ഥന.

csharp ഷെൽ ഘടിപ്പിച്ച് ആപ്ലിക്കേഷനുകൾ ഡീബഗ്ഗിംഗ് ചെയ്യാൻ ഈ പിന്തുണ അനുവദിക്കുന്നു
പ്രവർത്തിക്കുന്ന പ്രക്രിയകളിലേക്ക്.

പ്രൊഫൈലിംഗ്


മോണോ റൺടൈമിൽ വിവിധ പ്രകടനങ്ങൾ പര്യവേക്ഷണം ചെയ്യാൻ ഉപയോഗിക്കാവുന്ന ഒരു പ്രൊഫൈലർ ഉൾപ്പെടുന്നു
നിങ്ങളുടെ അപേക്ഷയിലെ ബന്ധപ്പെട്ട പ്രശ്നങ്ങൾ. --profile പാസ്സാക്കി പ്രൊഫൈലർ സജീവമാക്കുന്നു
മോണോ റൺടൈമിലേക്കുള്ള കമാൻഡ് ലൈൻ ആർഗ്യുമെന്റ്, ഫോർമാറ്റ് ഇതാണ്:

--പ്രൊഫൈൽ[=പ്രൊഫൈലർ[:profiler_args]]

മോണോയ്‌ക്ക് 'ഡിഫോൾട്ട്' എന്ന് വിളിക്കുന്ന ഒരു ബിൽറ്റ്-ഇൻ പ്രൊഫൈലർ ഉണ്ട് (കൂടാതെ ആർഗ്യുമെന്റുകളൊന്നും ഇല്ലെങ്കിൽ ഡിഫോൾട്ടാണ്.
വ്യക്തമാക്കിയിട്ടുണ്ട്), എന്നാൽ ഡവലപ്പർമാർക്ക് ഇഷ്‌ടാനുസൃത പ്രൊഫൈലറുകൾ എഴുതാൻ കഴിയും, "കസ്റ്റം പ്രൊഫൈലറുകൾ" എന്ന വിഭാഗം കാണുക
കൂടുതൽ വിവരങ്ങൾക്ക്.

അത് അങ്ങിനെയെങ്കിൽ പ്രൊഫൈലർ വ്യക്തമാക്കിയിട്ടില്ല, ഡിഫോൾട്ട് പ്രൊഫൈലർ ഉപയോഗിക്കുന്നു. ദി profiler_args ഒരു ആണ്
പ്രൊഫൈലറിന് തന്നെയുള്ള ഓപ്ഷനുകളുടെ പ്രൊഫൈലർ-നിർദ്ദിഷ്ട സ്ട്രിംഗ്. ഡിഫോൾട്ട് പ്രൊഫൈലർ അംഗീകരിക്കുന്നു
ആപ്ലിക്കേഷന്റെ പ്രൊഫൈൽ മെമ്മറി ഉപഭോഗത്തിലേക്ക് 'അലോക്ക്' ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ; 'സമയം'
ഓരോ ദിനചര്യയിലും ചെലവഴിച്ച സമയം പ്രൊഫൈൽ ചെയ്യുക; JIT-കംപൈലിംഗ് രീതികൾ ചെലവഴിച്ച സമയം ശേഖരിക്കാൻ 'jit'
സാമ്പിൾ സ്റ്റാറ്റിസ്റ്റിക്കൽ പ്രൊഫൈലിംഗ് നടത്താൻ 'stat' എന്നിവയും. ഓപ്ഷനുകളൊന്നും നൽകിയിട്ടില്ലെങ്കിൽ
സ്ഥിരസ്ഥിതി 'അലോക്ക്, ടൈം, ജിറ്റ്' ആണ്.

ഡിഫോൾട്ടായി പ്രൊഫൈൽ ഡാറ്റ stdout-ലേക്ക് പ്രിന്റ് ചെയ്യുന്നു: ഇത് മാറ്റാൻ, 'file=filename' ഉപയോഗിക്കുക
ഫയൽ നാമത്തിലേക്ക് ഡാറ്റ ഔട്ട്പുട്ട് ചെയ്യുന്നതിനുള്ള ഓപ്ഷൻ. ഉദാഹരണത്തിന്:

mono --profile program.exe

അത് ഡിഫോൾട്ട് പ്രൊഫൈലർ ഉപയോഗിച്ച് പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുകയും സമയവും അലോക്കേഷനും ചെയ്യുകയും ചെയ്യും
പ്രൊഫൈലിംഗ്.

mono --profile=default:stat,alloc,file=prof.out program.exe

program.exe-ൽ സാമ്പിൾ സ്റ്റാറ്റിസ്റ്റിക്കൽ പ്രൊഫൈലിങ്ങും അലോക്കേഷൻ പ്രൊഫൈലിങ്ങും ചെയ്യും. പ്രൊഫൈൽ
ഡാറ്റ പ്രൊഫ.ഔട്ടിൽ ഇടുന്നു. സ്റ്റാറ്റിസ്റ്റിക്കൽ പ്രൊഫൈലറിന് വളരെ കുറഞ്ഞ ഓവർഹെഡ് ഉണ്ടെന്ന് ശ്രദ്ധിക്കുക
ഉപയോഗിക്കാൻ ഇഷ്ടപ്പെട്ട പ്രൊഫൈലർ ആയിരിക്കണം (മികച്ച ഔട്ട്പുട്ടിനായി മോണോയിലേക്കുള്ള മുഴുവൻ പാതയും ഉപയോഗിക്കുക
പ്രവർത്തിപ്പിക്കുമ്പോൾ ബൈനറി, കൂടാതെ വരുന്ന addr2line യൂട്ടിലിറ്റി നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക
ബിനുറ്റിൽസ് പാക്കേജ്).

ലോഗ് പ്രൊഫൈലർ


ഇതാണ് ഏറ്റവും വിപുലമായ പ്രൊഫൈലർ.

മോണോ ലോഗ് ഒരു പ്രോഗ്രാം പ്രവർത്തിക്കുന്നതിനെക്കുറിച്ചുള്ള ധാരാളം വിവരങ്ങൾ ശേഖരിക്കാൻ പ്രൊഫൈലർ ഉപയോഗിക്കാം
മോണോ റൺടൈമിൽ. ഈ ഡാറ്റ ഉപയോഗിക്കാം (പ്രോസസ് പ്രവർത്തിക്കുമ്പോഴും പിന്നീടും)
പ്രോഗ്രാമിന്റെ പെരുമാറ്റം വിശകലനം ചെയ്യുക, വിഭവ ഉപയോഗം നിർണ്ണയിക്കുക, പ്രകടന പ്രശ്നങ്ങൾ അല്ലെങ്കിൽ
പ്രത്യേക നിർവ്വഹണ പാറ്റേണുകൾ പോലും നോക്കുക.

മോണോ റൺടൈം നൽകുന്ന ഇവന്റുകൾ ലോഗ് ചെയ്യുന്നതിലൂടെയാണ് ഇത് സാധ്യമാകുന്നത്
പ്രൊഫൈൽ ഇന്റർഫേസ്, പിന്നീട് പരിശോധിക്കാൻ കഴിയുന്ന ഒരു ഫയലിലേക്ക് ഇടയ്ക്കിടെ എഴുതുക
കൂടെ mprof-റിപ്പോർട്ട്(1) ഉപകരണം.

ലോഗ് പ്രൊഫൈലർ എങ്ങനെ ഉപയോഗിക്കണം എന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ഇതിൽ ലഭ്യമാണ് mprof-റിപ്പോർട്ട്(1)
പേജ്.

കസ്റ്റം പ്രൊഫൈലറുകൾ


പങ്കിട്ട രൂപത്തിലുള്ള മറ്റ് പ്രൊഫൈലിംഗ് മൊഡ്യൂളുകൾ ലോഡുചെയ്യുന്നതിനുള്ള ഒരു സംവിധാനം മോണോ നൽകുന്നു
ലൈബ്രറികൾ. ഈ പ്രൊഫൈലിംഗ് മൊഡ്യൂളുകൾക്ക് മോണോ റൺടൈമിന്റെ വിവിധ ഭാഗങ്ങളിലേക്ക് ഹുക്ക് അപ്പ് ചെയ്യാൻ കഴിയും
നടപ്പിലാക്കുന്ന കോഡിന്റെ വിവരങ്ങൾ ശേഖരിക്കുക.

ഒരു മൂന്നാം കക്ഷി പ്രൊഫൈലർ ഉപയോഗിക്കുന്നതിന് നിങ്ങൾ പ്രൊഫൈലറുടെ പേര് മോണോയ്ക്ക് കൈമാറണം, ഇതു പോലെ:

mono --profile= custom program.exe

മുകളിലെ സാമ്പിളിൽ, പങ്കിട്ട ലൈബ്രറിയിൽ നിന്ന് ഉപയോക്താവ് നിർവചിച്ച പ്രൊഫൈലറിനെ മോണോ ലോഡ് ചെയ്യും
`mono-profiler-custom.so'. ഈ പ്രൊഫൈലർ മൊഡ്യൂൾ നിങ്ങളുടെ ഡൈനാമിക് ലിങ്കർ ലൈബ്രറിയിലായിരിക്കണം
പാത.

മറ്റ് മൂന്നാം കക്ഷി പ്രൊഫൈലർമാരുടെ ഒരു ലിസ്റ്റ് മോണോയുടെ വെബ്‌സൈറ്റിൽ നിന്ന് ലഭ്യമാണ് (www.mono-
project.com/docs/advanced/performance-tips/)

ഇഷ്‌ടാനുസൃത പ്രൊഫൈലുകൾ പങ്കിട്ട ലൈബ്രറികളായി എഴുതിയിരിക്കുന്നു. പങ്കിട്ട ലൈബ്രറിയെ മോണോ- എന്ന് വിളിക്കണം
profiler-NAME.so' ഇവിടെ `NAME' എന്നത് നിങ്ങളുടെ പ്രൊഫൈലറുടെ പേരാണ്.

മോണോ സോഴ്സ് ട്രീയിൽ നിങ്ങളുടെ സ്വന്തം ഇഷ്‌ടാനുസൃത പ്രൊഫൈലർ ലുക്ക് എങ്ങനെ എഴുതാം എന്നതിന്റെ ഒരു സാമ്പിളിനായി
സാമ്പിളുകൾ/profiler.c.

കോഡ് കവാടം


ഒരു കോഡ് കവറേജ് മൊഡ്യൂളുള്ള മോണോ ഷിപ്പുകൾ. മോണോ ഉപയോഗിച്ചാണ് ഈ മൊഡ്യൂൾ സജീവമാക്കുന്നത്
--profile=cov ഓപ്ഷൻ. ഫോർമാറ്റ് ഇതാണ്: --profile=cov[:Assembly-name[/namespace]] പരീക്ഷ-
suite.exe

ലോഡുചെയ്ത എല്ലാ അസംബ്ലികൾക്കും ഡിഫോൾട്ട് കോഡ് കവറേജ് ഡിഫോൾട്ടായിരിക്കും, നിങ്ങൾക്ക് ഇത് പരിമിതപ്പെടുത്താം
അസംബ്ലി നാമം വ്യക്തമാക്കുന്നു, ഉദാഹരണത്തിന് നിങ്ങളുടെ ദിനചര്യകളിൽ കോഡ് കവറേജ് നടത്താൻ
പ്രോഗ്രാം ഉപയോഗം, ഉദാഹരണത്തിന് ഇനിപ്പറയുന്ന കമാൻഡ് ലൈൻ കോഡ് കവറേജിനെ ദിനചര്യകളിലേക്ക് പരിമിതപ്പെടുത്തുന്നു
"ഡെമോ" അസംബ്ലിയിൽ:

mono --profile=cov:demo demo.exe

അത് ശ്രദ്ധിക്കുക അസംബ്ലി-നാമം വിപുലീകരണം ഉൾപ്പെടുന്നില്ല.

ഒരു നെയിംസ്പേസ് വ്യക്തമാക്കുന്നതിലൂടെ നിങ്ങൾക്ക് കോഡ് കവറേജ് ഔട്ട്പുട്ടിനെ കൂടുതൽ നിയന്ത്രിക്കാം:

mono --profile=cov:demo/My.Utilities demo.exe

നൽകിയിരിക്കുന്ന അസംബ്ലിയിലും നെയിംസ്‌പെയ്‌സിലും കോഡ് കവറേജ് മാത്രമേ ഇത് നിർവഹിക്കൂ.

സാധാരണ ഔട്ട്പുട്ട് ഇതുപോലെ കാണപ്പെടുന്നു:

പരിരക്ഷയില്ല: ക്ലാസ്:.ctor ()
പരിരക്ഷയില്ല: ക്ലാസ്: എ ()
പരിരക്ഷയില്ല: ഡ്രൈവർ:.ctor ()
പരിരക്ഷയില്ല: ഡ്രൈവർ:രീതി ()
ഭാഗിക കവറേജ്: ഡ്രൈവർ:മെയിൻ ()
ഓഫ്സെറ്റ് 0x000a

പ്രദർശിപ്പിച്ചിരിക്കുന്ന ഓഫ്‌സെറ്റുകൾ IL ഓഫ്‌സെറ്റുകളാണ്.

കൂടുതൽ ശക്തമായ ഒരു കവറേജ് ടൂൾ `monocov' എന്ന മൊഡ്യൂളിൽ ലഭ്യമാണ്. കാണുക മോണോകോവ്(1)
വിശദാംശങ്ങൾക്ക് മാൻ പേജ്.

ഡീബഗ്ഗിംഗ് എയ്ഡ്സ്


നിയന്ത്രിത ആപ്ലിക്കേഷനുകൾ ഡീബഗ് ചെയ്യാൻ, നിങ്ങൾക്ക് ഇത് ഉപയോഗിക്കാം mdb കമാൻഡ്, ഒരു കമാൻഡ് ലൈൻ ഡീബഗ്ഗർ.

മോണോയിലെ എല്ലാ സജീവ ത്രെഡുകളുടെയും ഒരു സ്റ്റാക്ക് ട്രെയ്‌സ് അയയ്‌ക്കുന്നതിലൂടെ നേടാനാകും
മോണോയിലേക്കുള്ള ക്വിറ്റ് സിഗ്നൽ, നിങ്ങൾക്ക് കമാൻഡ് ലൈനിൽ നിന്ന് ഇത് ചെയ്യാൻ കഴിയും, ഇതുപോലെ:

കൊല്ലുക -പിഡ് ഉപേക്ഷിക്കുക

നിങ്ങൾ പരിശോധിക്കാൻ ആഗ്രഹിക്കുന്ന മോണോ പ്രോസസിന്റെ പ്രോസസ് ഐഡിയാണ് pid. പ്രക്രിയ ചെയ്യും
പിന്നീട് ഓട്ടം തുടരുക, പക്ഷേ അതിന്റെ അവസ്ഥ ഉറപ്പില്ല.

പ്രധാനം: ആപ്ലിക്കേഷനുകൾ ഡീബഗ്ഗിംഗ് ചെയ്യുന്നതിനുള്ള അവസാന ആശ്രയമായ സംവിധാനമാണിത്, പാടില്ല
ഒരു പ്രൊഡക്ഷൻ ആപ്ലിക്കേഷൻ നിരീക്ഷിക്കുന്നതിനോ അന്വേഷിക്കുന്നതിനോ ഉപയോഗിക്കുന്നു. ശേഷം റൺടൈമിന്റെ സമഗ്രത
ഈ സിഗ്നൽ അയയ്‌ക്കുന്നതിന് ഉറപ്പുനൽകുന്നില്ല, കൂടാതെ ആപ്ലിക്കേഷൻ ക്രാഷ് അല്ലെങ്കിൽ എപ്പോൾ വേണമെങ്കിലും അവസാനിപ്പിക്കാം
പിന്നീട് പോയിന്റ് നൽകി.

ദി --ഡീബഗ്=കാസ്റ്റുകൾ അസാധുവായ കാസ്റ്റിനായി കൂടുതൽ വിശദമായ വിവരങ്ങൾ ലഭിക്കാൻ ഓപ്ഷൻ ഉപയോഗിക്കാം
പ്രവർത്തനങ്ങൾ, അത് ഉൾപ്പെട്ടിരിക്കുന്ന തരങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങൾ നൽകും.

വാചാലമാകാൻ നിങ്ങൾക്ക് MONO_LOG_LEVEL, MONO_LOG_MASK പരിസ്ഥിതി വേരിയബിളുകൾ ഉപയോഗിക്കാം
മോണോയിൽ നിങ്ങളുടെ ആപ്ലിക്കേഷന്റെ നിർവ്വഹണത്തെക്കുറിച്ചുള്ള ഡീബഗ്ഗിംഗ് ഔട്ട്പുട്ട്.

ദി MONO_LOG_LEVEL സജ്ജീകരിച്ചാൽ എൻവയോൺമെന്റ് വേരിയബിൾ, ലോഗിംഗ് ലെവൽ സെറ്റിലേക്ക് മാറ്റുന്നു
മൂല്യം. "പിശക്", "നിർണ്ണായക", "മുന്നറിയിപ്പ്", "സന്ദേശം", "വിവരം", "ഡീബഗ്" എന്നിവയാണ് സാധ്യമായ മൂല്യങ്ങൾ. ദി
സ്ഥിര മൂല്യം "പിശക്" ആണ്. ലോഗിന് ഉയർന്നതോ അതിന് തുല്യമോ ആയ ലോഗിംഗ് ലെവലുള്ള സന്ദേശങ്ങൾ
ലെവൽ stdout/stderr ആയി പ്രിന്റ് ചെയ്യും.

അസംബ്ലികളുടെ ഡൈനാമിക് ലോഡിംഗ് ട്രാക്ക് ചെയ്യാൻ "വിവരം" ഉപയോഗിക്കുക.

ഉപയോഗിക്കുക MONO_LOG_MASK നിങ്ങൾക്ക് ലഭിക്കുന്ന സന്ദേശങ്ങളുടെ പരിധി പരിമിതപ്പെടുത്താൻ പരിസ്ഥിതി വേരിയബിൾ: എങ്കിൽ
സജ്ജമാക്കി, ലോഗ് മാസ്ക് സെറ്റ് മൂല്യത്തിലേക്ക് മാറ്റി. സാധ്യമായ മൂല്യങ്ങൾ "asm" (അസംബ്ലി
ലോഡർ), "തരം", "dll" (നേറ്റീവ് ലൈബ്രറി ലോഡർ), "gc" (ഗാർബേജ് കളക്ടർ), "cfg" (config
ഫയൽ ലോഡർ), "aot" (പ്രീ കംപൈലർ), "സുരക്ഷ" (ഉദാ: Moonlight CoreCLR പിന്തുണ) കൂടാതെ "എല്ലാം".
സ്ഥിര മൂല്യം "എല്ലാം" ആണ്. മാസ്ക് മൂല്യം മാറ്റുന്നത് സന്ദേശങ്ങൾ മാത്രം പ്രദർശിപ്പിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു
ഒരു പ്രത്യേക ഘടകത്തിന്. കോമ ഉപയോഗിച്ച് വേർതിരിക്കുന്ന ഒന്നിലധികം മാസ്കുകൾ നിങ്ങൾക്ക് ഉപയോഗിക്കാം. ഉദാഹരണത്തിന്
കോൺഫിഗറേഷൻ ഫയൽ സന്ദേശങ്ങളും അസംബ്ലി ലോഡർ സന്ദേശങ്ങളും കാണുന്നതിന് നിങ്ങളെ മാസ്ക് "asm,cfg" ആയി സജ്ജമാക്കുക.

പി/ഇൻവോക്കിലെ പ്രശ്നങ്ങൾ ട്രാക്ക് ചെയ്യുന്നതിനുള്ള ഒരു സാധാരണ ഉപയോഗമാണ് ഇനിപ്പറയുന്നത്:

$ MONO_LOG_LEVEL="ഡീബഗ്" MONO_LOG_MASK="dll" mono glue.exe

ഡീബഗ്ഗിംഗ് ഉപയോഗിച്ച് എൽഎൽഡിബി


നിങ്ങൾ LLDB ഉപയോഗിക്കുകയാണെങ്കിൽ, നിങ്ങൾക്ക് ഇത് ഉപയോഗിക്കാം mono.py ചില ആന്തരിക ഡാറ്റ പ്രിന്റ് ചെയ്യുന്നതിനുള്ള സ്ക്രിപ്റ്റ്
അതിനുള്ള ഘടനകൾ. ഇത് ഉപയോഗിക്കുന്നതിന്, ഇത് നിങ്ങളിലേക്ക് ചേർക്കുക $HOME/.lldbinit ഫയൽ:
കമാൻഡ് സ്ക്രിപ്റ്റ് ഇറക്കുമതി $PREFIX/lib/mono/lldb/mono.py

നിങ്ങൾ മോണോ കോൺഫിഗർ ചെയ്യുമ്പോൾ ഉപയോഗിച്ച പ്രിഫിക്‌സ് മൂല്യമാണ് $PREFIX (സാധാരണയായി / usr).

ഇത് ചെയ്തുകഴിഞ്ഞാൽ, നിങ്ങൾക്ക് ചില മോണോ റൺടൈം ഡാറ്റാ ഘടനകൾ പരിശോധിക്കാം, ഉദാഹരണത്തിന്:
(lldb) പി രീതി

(MonoMethod *) $0 = 0x05026ac0 [mscorlib]System.OutOfMemoryException:.ctor()

സീരിയലൈസേഷൻ


മോണോയുടെ XML സീരിയലൈസേഷൻ എഞ്ചിൻ ഡിഫോൾട്ടായി ഒരു പ്രതിഫലന-അടിസ്ഥാന സമീപനം ഉപയോഗിക്കും
തുടർച്ചയായ പ്രോസസ്സിംഗിനായി മന്ദഗതിയിലായേക്കാവുന്ന സീരിയലൈസ് ചെയ്യുക (വെബ് സേവന ആപ്ലിക്കേഷനുകൾ). ദി
ഒരു ക്ലാസ് എപ്പോൾ കൈകൊണ്ട് ട്യൂൺ ചെയ്ത സീരിയലൈസർ ഉപയോഗിക്കണമെന്ന് സീരിയലൈസേഷൻ എഞ്ചിൻ നിർണ്ണയിക്കും
കുറച്ച് പാരാമീറ്ററുകൾ, ആവശ്യമെങ്കിൽ അത് നിങ്ങളുടെ തരങ്ങൾക്കായി ഒരു ഇഷ്‌ടാനുസൃതമാക്കിയ C# സീരിയലൈസർ നിർമ്മിക്കും
റൺടൈമിൽ. ഈ ഇഷ്‌ടാനുസൃതമാക്കിയ സീരിയലൈസർ പിന്നീട് ചലനാത്മകമായി നിങ്ങളിലേക്ക് ലോഡ് ചെയ്യപ്പെടും
അപേക്ഷ.

MONO_XMLSERIALIZER_THS പരിസ്ഥിതി വേരിയബിൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇത് നിയന്ത്രിക്കാനാകും.

സാധ്യമായ മൂല്യങ്ങൾ `ഇല്ല' ഒരു C# ഇഷ്‌ടാനുസൃതമാക്കിയ സീരിയലൈസറിന്റെ ഉപയോഗം പ്രവർത്തനരഹിതമാക്കാൻ, അല്ലെങ്കിൽ ഒരു
റൺടൈമിന് മുമ്പുള്ള ഉപയോഗങ്ങളുടെ ഏറ്റവും കുറഞ്ഞ സംഖ്യയായ പൂർണ്ണസംഖ്യ ഒരു കസ്റ്റം നിർമ്മിക്കും
സീരിയലൈസർ (0 ആദ്യ ആക്‌സസ്സിൽ ഒരു ഇഷ്‌ടാനുസൃത സീരിയലൈസർ നിർമ്മിക്കും, 50 നിർമ്മിക്കും a
50-ാമത്തെ ഉപയോഗത്തിൽ സീരിയലൈസർ). അങ്ങനെയാണെങ്കിൽ മോണോ ഒരു വ്യാഖ്യാന സീരിയലൈസറിലേക്ക് മടങ്ങും
സീരിയലൈസർ ജനറേഷൻ എങ്ങനെയെങ്കിലും പരാജയപ്പെടുന്നു. ഓപ്ഷൻ സജ്ജീകരിക്കുന്നതിലൂടെ ഈ സ്വഭാവം പ്രവർത്തനരഹിതമാക്കാം
`നോഫാൾബാക്ക്' (ഉദാഹരണത്തിന്: MONO_XMLSERIALIZER_THS=0,നോഫാൾബാക്ക്).

ENVIRONMENT വ്യത്യാസങ്ങൾ


GC_DONT_GC
മോണോയിലെ മാലിന്യ ശേഖരണം ഓഫാക്കുന്നു. ഇത് ഡീബഗ്ഗിംഗിന് മാത്രമേ ഉപയോഗിക്കാവൂ
ആവശ്യകതകൾ

LVM_COUNT
LLVM പിന്തുണയോടെ മോണോ കംപൈൽ ചെയ്യുമ്പോൾ, ഇത് റൺടൈമിനെ ഉപയോഗിക്കുന്നത് നിർത്താൻ നിർദ്ദേശിക്കുന്നു
നിർദ്ദിഷ്ട എണ്ണം രീതികൾക്ക് ശേഷമുള്ള LLVM JITed ആണ്. ഉപയോഗിക്കുന്ന ഒരു ഉപകരണമാണിത്
കോഡ് ജനറേഷൻ ബാക്കെൻഡിലെ പ്രശ്നങ്ങൾ ഒറ്റപ്പെടുത്താൻ സഹായിക്കുന്ന ഡയഗ്നോസ്റ്റിക്സ്. ഉദാഹരണത്തിന്
LLVM_COUNT=10 LLVM ഉപയോഗിച്ച് 10 രീതികൾ മാത്രം സമാഹരിച്ച് മോണോയിലേക്ക് മാറും
JIT എഞ്ചിൻ. LLVM_COUNT=0 LLVM എഞ്ചിൻ പൂർണ്ണമായും പ്രവർത്തനരഹിതമാക്കും.

MONO_AOT_CACHE
സജ്ജീകരിക്കുകയാണെങ്കിൽ, ഈ വേരിയബിൾ പുതിയ അസംബ്ലികൾ കംപൈൽ ചെയ്യാൻ മോണോയെ നിർദ്ദേശിക്കും
ഡിമാൻഡ് ചെയ്ത് ഫലം ഒരു കാഷെയിൽ സംഭരിക്കുക ~/.mono/aot-cache.

MONO_ASPNET_INHIBIT_SETTINGSMAP
.config ഫയലുകളിലെ ക്രമീകരണങ്ങൾ പരിഷ്‌ക്കരിക്കാൻ അനുവദിക്കുന്ന ഒരു സവിശേഷത മോണോയിൽ അടങ്ങിയിരിക്കുന്നു
കോൺഫിഗറേഷൻ സെക്ഷൻ മാപ്പറുകൾ ഉപയോഗിച്ച് മോണോ ഉപയോഗിച്ച് അയച്ചു. മാപ്പർമാരും മാപ്പിംഗും
നിയമങ്ങൾ $prefix/etc/mono/2.0/settings.map ഫയലിൽ നിർവചിച്ചിരിക്കുന്നു കൂടാതെ, ഓപ്ഷണലായി,
നിങ്ങളുടെ ASP.NET ആപ്ലിക്കേഷന്റെ ഉയർന്ന തലത്തിലുള്ള ഡയറക്‌ടറിയിൽ കാണുന്ന settings.map ഫയൽ.
രണ്ട് ഫയലുകളും ആപ്ലിക്കേഷൻ സ്റ്റാർട്ടപ്പിൽ കണ്ടാൽ System.Web വായിക്കുന്നു
മുകളിലുള്ള സ്ഥലങ്ങൾ. മാപ്പിംഗ് നടത്താൻ താൽപ്പര്യമില്ലെങ്കിൽ നിങ്ങൾക്ക് ഇത് സജ്ജീകരിക്കാം
ആപ്ലിക്കേഷൻ ആരംഭിക്കുന്നതിന് മുമ്പ് നിങ്ങളുടെ പരിതസ്ഥിതിയിൽ വേരിയബിൾ, ഒരു നടപടിയും ഉണ്ടാകില്ല
എടുത്തു.

MONO_ASPNET_WEBCONFIG_CACHESIZE
WebConfigurationManager വേഗത്തിലാക്കാൻ മോണോയ്ക്ക് ConfigSection ഒബ്‌ജക്റ്റുകളുടെ ഒരു കാഷെ ഉണ്ട്.
ചോദ്യങ്ങൾ. ഇതിന്റെ ഡിഫോൾട്ട് വലുപ്പം 100 ഇനങ്ങളാണ്, കൂടുതൽ ഇനങ്ങൾ ആവശ്യമുള്ളപ്പോൾ, കാഷെ
കുടിയൊഴിപ്പിക്കൽ സംഭവിക്കാൻ തുടങ്ങുന്നു. കുടിയൊഴിപ്പിക്കൽ വളരെ പതിവാണെങ്കിൽ, ഇത് ചുമത്താം
അനാവശ്യമായ ഓവർഹെഡ്, ഈ എൻവയോൺമെന്റ് വേരിയബിൾ ഉപയോഗിച്ച് ഇത് ഒഴിവാക്കാം
ഉയർന്ന കാഷെ വലുപ്പം സജ്ജമാക്കുക (അല്ലെങ്കിൽ മെമ്മറി ആവശ്യകതകൾ കുറയ്ക്കുന്നതിന്).

MONO_CAIRO_DEBUG_DISPOSE
സജ്ജീകരിച്ചാൽ, ഒബ്‌ജക്‌റ്റുകൾ അലോക്കേറ്റ് ചെയ്യുമ്പോൾ Mono.Cairo സ്റ്റാക്ക് ട്രെയ്‌സുകൾ ശേഖരിക്കുന്നതിന് കാരണമാകുന്നു, അങ്ങനെ
അന്തിമമാക്കൽ/നിർമാർജനം ചെയ്യുന്നതിനുള്ള മുന്നറിയിപ്പുകളിൽ സംഭവത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ ഉൾപ്പെടുന്നു
ഉത്ഭവം.

MONO_CFG_DIR
സജ്ജമാക്കിയാൽ, ഈ വേരിയബിൾ ഡിഫോൾട്ട് സിസ്റ്റം കോൺഫിഗറേഷൻ ഡയറക്ടറിയെ അസാധുവാക്കുന്നു
($PREFIX/etc). machine.config ഫയൽ കണ്ടെത്താൻ ഇത് ഉപയോഗിക്കുന്നു.

MONO_COM
COM ഇന്ററോപ്പിന്റെ ശൈലി സജ്ജമാക്കുന്നു. ഈ വേരിയബിളിന്റെ മൂല്യം "MS" ആണെങ്കിൽ മോണോ ഉപയോഗിക്കും
BSTR തരം ലൈബ്രറിയ്‌ക്കായുള്ള liboleut32-ൽ നിന്നുള്ള സ്ട്രിംഗ് മാർഷലിംഗ് ദിനചര്യകൾ, ഏതെങ്കിലും
മറ്റ് മൂല്യങ്ങൾ മോണോ-ബിൽറ്റിൻ BSTR സ്ട്രിംഗ് മാർഷലിംഗ് ഉപയോഗിക്കും.

MONO_CONFIG
സജ്ജമാക്കിയാൽ, ഈ വേരിയബിൾ ഡിഫോൾട്ട് റൺടൈം കോൺഫിഗറേഷൻ ഫയലിനെ അസാധുവാക്കുന്നു
($PREFIX/etc/mono/config). --config കമാൻഡ് ലൈൻ ഓപ്ഷനുകൾ അസാധുവാക്കുന്നു
എൻവയോൺമെന്റ് വേരിയബിൾ.

MONO_CPU_ARCH
ഓട്ടോമാറ്റിക് സിപിയു ഡിറ്റക്ഷൻ മെക്കാനിസം അസാധുവാക്കുക. നിലവിൽ കൈയിൽ മാത്രമാണ് ഉപയോഗിക്കുന്നത്. ദി
മൂല്യത്തിന്റെ ഫോർമാറ്റ് ഇപ്രകാരമാണ്:

"armvV [തമ്പ്[2]]"

ഇവിടെ V എന്നത് ആർക്കിടെക്ചർ നമ്പർ 4, 5, 6, 7 ആണ്, കൂടാതെ ഓപ്ഷനുകൾ നിലവിൽ ആകാം
"തമ്പ്" അല്ലെങ്കിൽ "തമ്പ്2". ഉദാഹരണം:

MONO_CPU_ARCH="armv4 thumb" മോണോ ...

MONO_ARM_FORCE_SOFT_FLOAT
ARM-ൽ ഒരു സോഫ്റ്റ് ഫ്ലോട്ട് ഫാൾബാക്ക് ഉപയോഗിച്ച് മോണോ നിർമ്മിക്കുകയും ഈ വേരിയബിൾ സജ്ജമാക്കുകയും ചെയ്യുമ്പോൾ
"1", ഒരു VFP യൂണിറ്റ് കണ്ടെത്തിയാലും മോണോ എപ്പോഴും സോഫ്റ്റ് ഫ്ലോട്ട് കോഡ് പുറപ്പെടുവിക്കും.

MONO_DISABLE_AIO
സജ്ജമാക്കിയാൽ, നേറ്റീവ് അസിൻക്രണസ് ഐ/ഒ സേവനങ്ങൾ ഉപയോഗിക്കാൻ ശ്രമിക്കരുതെന്ന് മോണോയോട് പറയുന്നു. അതിൽ
കേസ്, ഒരു ഡിഫോൾട്ട് സെലക്ട്/പോൾ നടപ്പിലാക്കൽ ഉപയോഗിക്കുന്നു. നിലവിൽ epoll() മാത്രമാണ്
പിന്തുണയ്‌ക്കുന്നു.

MONO_DISABLE_MANAGED_COLLATION
ഈ എൻവയോൺമെന്റ് വേരിയബിൾ `അതെ' ആണെങ്കിൽ, റൺടൈം കൈകാര്യം ചെയ്യാത്ത കോലേഷൻ ഉപയോഗിക്കുന്നു (ഏത്
യഥാർത്ഥത്തിൽ അർത്ഥമാക്കുന്നത് സംസ്കാര-സെൻസിറ്റീവ് കോലേഷൻ ഇല്ല). ഇത് നിയന്ത്രിക്കുന്നത് ആന്തരികമായി പ്രവർത്തനരഹിതമാക്കുന്നു
System.Globalization.CompareInfo അംഗങ്ങൾ മുഖേനയുള്ള കോലേഷൻ പ്രവർത്തനം
ക്ലാസ്. സ്ഥിരസ്ഥിതിയായി ശേഖരണം പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു.

MONO_DISABLE_SHM
Unix മാത്രം: സജ്ജീകരിച്ചാൽ, ക്രോസ്-പ്രോസസ് ഹാൻഡിലുകൾക്കായി ഉപയോഗിക്കുന്ന പങ്കിട്ട മെമ്മറി ഫയലുകൾ പ്രവർത്തനരഹിതമാക്കുന്നു:
പ്രക്രിയയ്ക്ക് സ്വകാര്യ ഹാൻഡിലുകൾ മാത്രമേയുള്ളൂ. ഇതിനർത്ഥം പ്രോസസ്സും ത്രെഡ് ഹാൻഡിലുകളും ആണ്
മറ്റ് പ്രക്രിയകൾക്ക് ലഭ്യമല്ല, കൂടാതെ mutexes എന്ന് പേരിട്ടിരിക്കുന്നു, ഇവന്റുകൾ എന്ന് പേരിട്ടിരിക്കുന്നു
പ്രക്രിയകൾക്കിടയിൽ സെമാഫോറുകൾ ദൃശ്യമല്ല. ഇതും പ്രവർത്തനക്ഷമമാക്കാം
കോൺഫിഗർ ചെയ്യുന്നതിനായി "--disable-shared-handles" എന്ന ഓപ്‌ഷൻ പാസ്സാക്കി സ്ഥിരസ്ഥിതിയായി. ഇതാണ്
മോണോ 2.8 മുതൽ സ്ഥിരസ്ഥിതി.

MONO_DISABLE_SHARED_AREA
Unix മാത്രം: സജ്ജമാക്കിയാൽ, പ്രകടനം വെളിപ്പെടുത്തുന്നതിന് പങ്കിട്ട മെമ്മറിയുടെ ഉപയോഗം പ്രവർത്തനരഹിതമാക്കുക
കൗണ്ടറുകൾ. രണ്ട് പ്രകടനവും ബാഹ്യമായി വായിക്കാൻ കഴിയില്ലെന്നാണ് ഇതിനർത്ഥം
ഈ പ്രക്രിയകളിൽ നിന്നുള്ള കൌണ്ടറുകൾ അല്ലെങ്കിൽ ബാഹ്യ പ്രക്രിയകൾ വായിക്കുക.

MONO_DNS
സജ്ജീകരിച്ചിരിക്കുമ്പോൾ, പതിവിനുപകരം പൂർണ്ണമായി കൈകാര്യം ചെയ്യുന്ന DNS റിസോൾവറിന്റെ ഉപയോഗം പ്രവർത്തനക്ഷമമാക്കുന്നു
libc പ്രവർത്തനങ്ങൾ. ഒന്നിലധികം അന്വേഷണങ്ങൾ പ്രവർത്തിപ്പിക്കുമ്പോൾ ഈ റിസോൾവർ വളരെ മികച്ച രീതിയിൽ പ്രവർത്തിക്കുന്നു
സമാന്തരമായി.

അതല്ല /etc/nsswitch.conf അവഗണിക്കും.

MONO_EGD_SOCKET
ക്രമരഹിതമായ ബൈറ്റുകൾ നേടുന്നതിനുള്ള മാർഗമില്ലാത്ത പ്ലാറ്റ്‌ഫോമുകൾക്ക് ഇത് ചെയ്യാം
ഒരു egd അല്ലെങ്കിൽ prngd ഡെമൺ ഉള്ള ഒരു ഫയൽ സിസ്റ്റം സോക്കറ്റിന്റെ പേരിലേക്ക് സജ്ജമാക്കുക
കേൾക്കുന്നു.

MONO_ENABLE_SHM
Unix മാത്രം: ക്രോസ്-പ്രോസസ് ഹാൻഡിലുകൾക്കുള്ള പിന്തുണ പ്രവർത്തനക്ഷമമാക്കുക. ക്രോസ്-പ്രോസസ് ഹാൻഡിലുകളാണ്
പ്രോസസ്സ് ഹാൻഡിലുകൾ, ത്രെഡ് ഹാൻഡിലുകൾ, പേരുള്ള മ്യൂട്ടക്സുകൾ, പേരിട്ട ഇവന്റുകൾ എന്നിവ വെളിപ്പെടുത്താൻ ഉപയോഗിക്കുന്നു
Unix പ്രക്രിയകളിലുടനീളം സെമാഫോറുകൾ എന്ന് പേരിട്ടു.

MONO_ENV_OPTIONS
ഒരു മോണോയിലേക്ക് കമാൻഡ് ലൈൻ ആർഗ്യുമെന്റുകൾ കൈമാറാൻ ഈ എൻവയോൺമെന്റ് വേരിയബിൾ നിങ്ങളെ അനുവദിക്കുന്നു
പരിസ്ഥിതിയിലൂടെയുള്ള പ്രക്രിയ. നിങ്ങളുടെ എല്ലാം നിർബന്ധിക്കാൻ ഇത് ഉപയോഗപ്രദമാണ്
ലോഞ്ച് സ്ക്രിപ്റ്റുകളൊന്നും പരിഷ്കരിക്കാതെ തന്നെ LLVM അല്ലെങ്കിൽ SGEN ഉപയോഗിക്കുന്നതിനുള്ള മോണോ പ്രോസസ്സുകൾ.

MONO_ENV_OPTIONS
റൺടൈമിൽ ഡീബഗ്ഗർ ഏജന്റിന് അധിക ഓപ്‌ഷനുകൾ കൈമാറാൻ ഉപയോഗിക്കുന്നു
--debugger-agent= ഉപയോഗിച്ച് പാസ്സായി.

MONO_EVENTLOG_TYPE
ഉപയോഗിക്കേണ്ട ഇവന്റ് ലോഗ് ദാതാവിന്റെ തരം സജ്ജീകരിക്കുന്നു (System.Diagnostics.EventLog-ന്).
സാധ്യമായ മൂല്യങ്ങൾ ഇവയാണ്:

പ്രാദേശിക[:പാത്ത്]
ഇവന്റ് ലോഗുകളും ലോക്കൽ ഫയൽ സിസ്റ്റത്തിലേക്കുള്ള എൻട്രികളും തുടരുന്നു. ഡയറക്ടറി ഇൻ
ഇവന്റ് ലോഗുകൾ, ഇവന്റ് സ്രോതസ്സുകൾ, എൻട്രികൾ എന്നിവ നിലനിൽക്കാൻ ഏതൊക്കെയെന്ന് വ്യക്തമാക്കാം
മൂല്യത്തിന്റെ ഭാഗമായി. പാത്ത് വ്യക്തമായി സജ്ജീകരിച്ചിട്ടില്ലെങ്കിൽ, അത് ഡിഫോൾട്ടായി മാറുന്നു
unix-ൽ "/var/lib/mono/eventlog", Windows-ൽ "%APPDATA%no\ventlog".

win32 ഉപയോഗങ്ങൾ The നേറ്റീവ് win32 എപിഐ ലേക്ക് എഴുതുക ഇവന്റുകൾ ഒപ്പം രജിസ്റ്ററുകൾ സംഭവം രേഖകൾ ഒപ്പം സംഭവം
രജിസ്ട്രിയിലെ ഉറവിടങ്ങൾ. ഇത് വിൻഡോസിൽ മാത്രമേ ലഭ്യമാകൂ. Unix-ൽ, ദി
വ്യക്തിഗത ഇവന്റ് ലോഗിനും ഇവന്റ് ഉറവിട ഡയറക്ടറികൾക്കുമുള്ള ഡയറക്ടറി അനുമതി
ഇവന്റ് ലോഗ് വായിക്കാനും എഴുതാനും എല്ലാവരെയും അനുവദിക്കുന്ന 777 (+t ബിറ്റ് ഉപയോഗിച്ച്) ആയി സജ്ജീകരിച്ചിരിക്കുന്നു
എൻട്രികൾ എൻട്രികൾ മാത്രം ഇല്ലാതാക്കാൻ അനുവദിക്കുമ്പോൾ അത് ഉപയോക്താവ്(കൾ)
അവരെ സൃഷ്ടിച്ചു.

ശൂന്യം ഏത് സംഭവങ്ങളും നിശബ്ദമായി നിരസിക്കുന്നു.

യുണിക്സിൽ സ്ഥിരസ്ഥിതി "ശൂന്യം" ആണ് (ഒപ്പം NT-ന് മുമ്പുള്ള വിൻഡോസിന്റെ പതിപ്പുകൾ), കൂടാതെ "win32" ഓൺ
Windows NT (കൂടാതെ ഉയർന്നത്).

MONO_EXTERNAL_ENCODINGS
സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, തിരിയുമ്പോൾ ശ്രമിക്കേണ്ട ടെക്സ്റ്റ് എൻകോഡിംഗുകളുടെ കോളൺ-വേർതിരിച്ച ലിസ്റ്റ് അടങ്ങിയിരിക്കുന്നു
യൂണികോഡിലേക്ക് ബാഹ്യമായി ജനറേറ്റഡ് ടെക്സ്റ്റ് (ഉദാ: കമാൻഡ്-ലൈൻ ആർഗ്യുമെന്റുകൾ അല്ലെങ്കിൽ ഫയൽനാമങ്ങൾ).
എൻകോഡിംഗ് പേരുകൾ iconv നൽകിയ ലിസ്റ്റിൽ നിന്നും പ്രത്യേക കേസിൽ നിന്നും വരുന്നു
"default_locale" എന്നത് നിലവിലെ ലോക്കലിന്റെ ഡിഫോൾട്ട് എൻകോഡിംഗിനെ സൂചിപ്പിക്കുന്നു.

ബാഹ്യമായി ജനറേറ്റുചെയ്‌ത ടെക്‌സ്‌റ്റ് സ്‌ട്രിംഗുകൾ വായിക്കുമ്പോൾ ആദ്യം UTF-8 പരീക്ഷിച്ചു, തുടർന്ന് ഇത്
തിരയൽ അവസാനിപ്പിച്ച ആദ്യ വിജയകരമായ പരിവർത്തനത്തിനൊപ്പം ലിസ്റ്റ് പരീക്ഷിച്ചു.
ബാഹ്യ വാചകം എഴുതുമ്പോൾ (ഉദാ. പുതിയ ഫയൽനാമങ്ങൾ അല്ലെങ്കിൽ പുതിയ പ്രക്രിയകളിലേക്കുള്ള ആർഗ്യുമെന്റുകൾ).
ഈ ലിസ്റ്റിലെ ആദ്യ ഇനം ഉപയോഗിക്കുന്നു, അല്ലെങ്കിൽ എൻവയോൺമെന്റ് വേരിയബിൾ സജ്ജീകരിച്ചിട്ടില്ലെങ്കിൽ UTF-8.

നിങ്ങളുടെ ഫയലുകൾ പ്രോസസ്സ് ചെയ്യുന്നതിന് MONO_EXTERNAL_ENCODINGS ഉപയോഗിക്കുന്നതിലെ പ്രശ്നം അതാണ്
ഒരു പ്രശ്‌നത്തിൽ കലാശിക്കുന്നു: ശരിയായ ഫയലിന്റെ പേര് ലഭിക്കാൻ സാധ്യമാണെങ്കിലും അത് അങ്ങനെയല്ല
ഫയൽ തുറക്കാൻ അനിവാര്യമായും സാധ്യമാണ്. പൊതുവേ, നിങ്ങൾക്ക് പ്രശ്നങ്ങളുണ്ടെങ്കിൽ
നിങ്ങളുടെ ഫയൽ നാമങ്ങളിലെ എൻകോഡിംഗുകൾ നിങ്ങൾ "convmv" പ്രോഗ്രാം ഉപയോഗിക്കണം.

MONO_GC_PARAMS
SGen ഗാർബേജ് കളക്ടർക്കൊപ്പം മോണോ ഉപയോഗിക്കുമ്പോൾ ഈ വേരിയബിൾ പലതും നിയന്ത്രിക്കുന്നു
കളക്ടറുടെ പാരാമീറ്ററുകൾ. വേരിയബിളിന്റെ മൂല്യം കോമയാൽ വേർതിരിച്ച ലിസ്റ്റാണ്
വാക്കുകൾ.

നഴ്സറി-വലിപ്പം=വലുപ്പം
നഴ്സറിയുടെ വലിപ്പം സജ്ജമാക്കുന്നു. വലുപ്പം ബൈറ്റുകളിൽ വ്യക്തമാക്കിയിട്ടുണ്ട്, അത് a ആയിരിക്കണം
രണ്ടിന്റെ ശക്തി. കിലോ-, വ്യക്തമാക്കാൻ `k', `m', `g' എന്നീ പ്രത്യയങ്ങൾ ഉപയോഗിക്കാം.
മെഗാ- ജിഗാബൈറ്റ്, യഥാക്രമം. നഴ്സറി ആദ്യ തലമുറയാണ് (ഓഫ്
രണ്ട്). ഒരു വലിയ നഴ്സറി സാധാരണയായി പ്രോഗ്രാമിനെ വേഗത്തിലാക്കും, പക്ഷേ അത് വ്യക്തമാകും
കൂടുതൽ മെമ്മറി ഉപയോഗിക്കുക. ഡിഫോൾട്ട് നഴ്സറി വലുപ്പം 4 MB.

പ്രധാന=കളക്ടർ ഏത് പ്രധാന കളക്ടറാണ് ഉപയോഗിക്കേണ്ടതെന്ന് വ്യക്തമാക്കുന്നു.
മാർക്ക് & സ്വീപ്പ് കളക്ടർക്കുള്ള `മാർക്ക്സ്വീപ്പ്', `മാർക്ക്സ്വീപ്പ്-കോൺസി' എന്നിവയാണ് ഓപ്ഷനുകൾ
കൺകറന്റ് മാർക്ക് & സ്വീപ്പിനായി. നോൺ-കൺകറന്റ് മാർക്ക് & സ്വീപ്പ് കളക്ടർ ആണ്
സ്ഥിരസ്ഥിതിയായി.

soft-heap-limit=വലുപ്പം
ഹീപ്പ് വലുപ്പം ഈ വലുപ്പത്തേക്കാൾ വലുതായിക്കഴിഞ്ഞാൽ, ഡിഫോൾട്ട് മേജർ എന്താണെന്ന് അവഗണിക്കുക
ശേഖരണ ട്രിഗർ മെട്രിക് പറയുന്നത് നാല് നഴ്‌സറി വലുപ്പത്തിലുള്ള മേജർ മാത്രമേ അനുവദിക്കൂ
പ്രധാന ശേഖരങ്ങൾക്കിടയിലുള്ള കൂമ്പാര വളർച്ച.

evacuation-threshold=ഉമ്മറം
ഒഴിപ്പിക്കൽ പരിധി ശതമാനത്തിൽ സജ്ജീകരിക്കുന്നു. ഈ ഓപ്ഷൻ മാത്രമേ ലഭ്യമാകൂ
മാർക്ക് & സ്വീപ്പ് പ്രധാന കളക്ടർമാർ. മൂല്യം ശ്രേണിയിലെ ഒരു പൂർണ്ണസംഖ്യയായിരിക്കണം
0 മുതൽ 100 ​​വരെ. ഡിഫോൾട്ട് 66 ആണ്. ശേഖരത്തിന്റെ സ്വീപ്പ് ഘട്ടം കണ്ടെത്തുകയാണെങ്കിൽ
ഒരു നിർദ്ദിഷ്‌ട ഹീപ്പ് ബ്ലോക്ക് തരത്തിന്റെ ഒക്യുപ്പൻസി ഇതിലും കുറവാണെന്ന്
ശതമാനം, അത് അടുത്ത സമയത്ത് ആ ബ്ലോക്ക് തരത്തിനായി ഒരു പകർത്തൽ ശേഖരണം നടത്തും
വലിയ ശേഖരണം, അതുവഴി 100 ശതമാനത്തോട് അടുത്ത് താമസം പുനഃസ്ഥാപിക്കുന്നു. എ
0 ന്റെ മൂല്യം ഒഴിപ്പിക്കൽ ഓഫാക്കി.

(ഇല്ല-) അലസമായ തൂത്തുവാരൽ
മാർക്ക് & സ്വീപ്പ് കളക്ടർക്കായി അലസമായ സ്വീപ്പ് പ്രവർത്തനക്ഷമമാക്കുന്നു അല്ലെങ്കിൽ പ്രവർത്തനരഹിതമാക്കുന്നു. പ്രവർത്തനക്ഷമമാക്കിയാൽ,
ഓരോ പ്രധാന ഹീപ്പ് ബ്ലോക്കുകളുടെ തൂത്തുവാരൽ എപ്പോഴൊക്കെയോ കഷണങ്ങളായി നടക്കുന്നു
ആവശ്യം ഉയർന്നുവരുന്നു, സാധാരണയായി നഴ്സറി ശേഖരണ സമയത്ത്. അലസമായ സ്വീപ്പിംഗ് പ്രവർത്തനക്ഷമമാക്കി
സ്ഥിരസ്ഥിതിയായി.

(ഇല്ല-)കൺകറന്റ് സ്വീപ്പ്
മാർക്ക്&സ്വീപ്പ് കളക്ടർക്കായി കൺകറന്റ് സ്വീപ്പ് പ്രവർത്തനക്ഷമമാക്കുകയോ പ്രവർത്തനരഹിതമാക്കുകയോ ചെയ്യുന്നു. എങ്കിൽ
പ്രവർത്തനക്ഷമമാക്കി, എല്ലാ പ്രധാന ബ്ലോക്കുകളുടെയും ആവർത്തനം ഏതൊക്കെയാണെന്ന് നിർണ്ണയിക്കാൻ
മോചിപ്പിക്കപ്പെട്ടവയും സൂക്ഷിക്കേണ്ടതും തൂത്തുവാരേണ്ടതും ഒരേസമയം ചെയ്യുന്നു
പ്രവർത്തിക്കുന്ന പ്രോഗ്രാം. കൺകറന്റ് സ്വീപ്പിംഗ് ഡിഫോൾട്ടായി പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു.

സ്റ്റാക്ക്-മാർക്ക്=മാർക്ക്-മോഡ്
ആപ്ലിക്കേഷൻ ത്രെഡുകൾ എങ്ങനെ സ്കാൻ ചെയ്യണമെന്ന് വ്യക്തമാക്കുന്നു. ഓപ്‌ഷനുകൾ `കൃത്യമാണ്`
ഒപ്പം `യാഥാസ്ഥിതിക`. കൃത്യമായ അടയാളപ്പെടുത്തൽ കളക്ടറെ മൂല്യങ്ങൾ എന്താണെന്ന് അറിയാൻ അനുവദിക്കുന്നു
സ്റ്റാക്കിൽ റഫറൻസുകളും അല്ലാത്തവയും ഉണ്ട്. യാഥാസ്ഥിതിക അടയാളപ്പെടുത്തൽ എല്ലാ ഭീഷണികളും
മൂല്യങ്ങൾ സാധ്യതയുള്ള റഫറൻസുകളായി അവയെ സ്പർശിക്കാതെ വിടുക. കൃത്യമായ അടയാളപ്പെടുത്തൽ
പൊങ്ങിക്കിടക്കുന്ന മാലിന്യം കുറയ്ക്കുകയും നഴ്സറി ശേഖരണവും വിഹിതവും വേഗത്തിലാക്കുകയും ചെയ്യും
നിരക്ക്, ഓരോന്നിനും കാര്യമായ അധിക മെമ്മറി ആവശ്യമുള്ളതിന്റെ ദോഷവശമുണ്ട്
സമാഹരിച്ച രീതി. ശരിയായ ഓപ്ഷൻ, നിർഭാഗ്യവശാൽ, പരീക്ഷണം ആവശ്യമാണ്.

save-target-ratio=അനുപാതം
പ്രധാന കളക്ടർക്കുള്ള ടാർഗെറ്റ് സേവ് റേഷ്യോ വ്യക്തമാക്കുന്നു. കളക്ടർ അനുവദിക്കുന്നു
പ്രായപൂർത്തിയാകാത്തതിനാൽ നഴ്സറിയിൽ നിന്ന് പ്രമോട്ടുചെയ്യേണ്ട ഒരു നിശ്ചിത അളവ് മെമ്മറി
ഒരു പ്രധാന ശേഖരം പ്രവർത്തനക്ഷമമാക്കുന്നതിന് മുമ്പ് ശേഖരങ്ങൾ. ഈ തുക അടിസ്ഥാനമാക്കിയുള്ളതാണ്
എത്ര മെമ്മറി സ്വതന്ത്രമാകുമെന്ന് പ്രതീക്ഷിക്കുന്നു. ഇത് വലുപ്പത്തിന്റെ അനുപാതമായി പ്രതിനിധീകരിക്കുന്നു
ഒരു പ്രധാന ശേഖരത്തിന് ശേഷമുള്ള കൂമ്പാരം. സാധുവായ മൂല്യങ്ങൾ 0.1 നും 2.0 നും ഇടയിലാണ്.
സ്ഥിരസ്ഥിതി 0.5 ആണ്. ചെറിയ മൂല്യങ്ങൾ പ്രധാന കൂമ്പാരത്തിന്റെ വലുപ്പം ചെറുതാക്കി നിർത്തും
എന്നാൽ കൂടുതൽ പ്രധാന ശേഖരങ്ങൾ ട്രിഗർ ചെയ്യും. അതുപോലെ, വലിയ മൂല്യങ്ങൾ ഉപയോഗിക്കും
കൂടുതൽ മെമ്മറി, കുറഞ്ഞ പതിവ് പ്രധാന ശേഖരങ്ങൾക്ക് കാരണമാകുന്നു. ഈ ഓപ്ഷൻ ആണ്
പരീക്ഷണാത്മകമായതിനാൽ മോണോയുടെ പിന്നീടുള്ള പതിപ്പുകളിൽ ഇത് അപ്രത്യക്ഷമായേക്കാം.

default-alllowance-ratio=അനുപാതം
കണക്കാക്കിയ വലുപ്പം കൂടിയിരിക്കുമ്പോൾ ഡിഫോൾട്ട് അലോക്കേഷൻ അലവൻസ് വ്യക്തമാക്കുന്നു
ചെറിയ. കലക്‌ടർക്ക് എത്ര മെമ്മറി ഉണ്ടായിരിക്കും എന്നതാണ് അലോക്കേഷൻ അലവൻസ്
ഒരു പ്രധാന ശേഖരം പ്രവർത്തനക്ഷമമാക്കുന്നതിന് മുമ്പ് പ്രമോട്ടുചെയ്‌തു. ഇത് നഴ്സറിയുടെ അനുപാതമാണ്
വലിപ്പം. സാധുവായ മൂല്യങ്ങൾ 1.0 നും 10.0 നും ഇടയിലാണ്. സ്ഥിരസ്ഥിതി 4.0 ആണ്. ചെറുത്
മൂല്യങ്ങൾ ചെറിയ കൂമ്പാരങ്ങളിലേക്കും ഇടയ്ക്കിടെയുള്ള വലിയ ശേഖരങ്ങളിലേക്കും നയിക്കുന്നു. അതുപോലെ,
വലിയ മൂല്യങ്ങൾ കൂമ്പാരത്തെ വേഗത്തിൽ വളരാൻ അനുവദിക്കുമെങ്കിലും അത് കൂടുതൽ മെമ്മറി ഉപയോഗിക്കും
സ്ഥിരമായ വലിപ്പത്തിൽ എത്തുന്നു. ഈ ഓപ്ഷൻ പരീക്ഷണാത്മകമാണ്, അതിനാൽ ഇത് അപ്രത്യക്ഷമായേക്കാം
മോണോയുടെ പിന്നീടുള്ള പതിപ്പുകളിൽ.

മൈനർ=മൈനർ-കളക്ടർ
ഏത് മൈനർ കളക്ടറാണ് ഉപയോഗിക്കേണ്ടതെന്ന് വ്യക്തമാക്കുന്നു. ഓപ്‌ഷനുകൾ പ്രോത്സാഹിപ്പിക്കുന്ന 'ലളിതമാണ്'
എല്ലാ വസ്തുക്കളും നഴ്സറിയിൽ നിന്ന് നേരിട്ട് പഴയ തലമുറയിലേക്ക് 'വിഭജിക്കുക'
പ്രൊമോട്ട് ചെയ്യുന്നതിന് മുമ്പ് നഴ്സറിയിൽ ഒബ്ജക്റ്റ് കൂടുതൽ നേരം നിൽക്കാൻ ഇത് അനുവദിക്കുന്നു.

അലോക്ക്-അനുപാതം=അനുപാതം
അലോക്ക് സ്പേസ് ഉപയോഗിക്കേണ്ട നഴ്സറിയിൽ നിന്നുള്ള മെമ്മറിയുടെ അനുപാതം വ്യക്തമാക്കുന്നു.
സ്പ്ലിറ്റ് മൈനർ കളക്ടറിൽ മാത്രമേ ഇത് ഉപയോഗിക്കാൻ കഴിയൂ. സാധുവായ മൂല്യങ്ങളാണ്
1 നും 100 നും ഇടയിലുള്ള പൂർണ്ണസംഖ്യകൾ. സ്ഥിരസ്ഥിതി 60 ആണ്.

പ്രമോഷൻ-പ്രായം=പ്രായം
മുമ്പ് നഴ്സറിക്കുള്ളിൽ എത്തേണ്ട ഒരു വസ്തുവിന്റെ ആവശ്യമായ പ്രായം വ്യക്തമാക്കുന്നു
പഴയ തലമുറയിലേക്ക് ഉയർത്തി. ഇത് ഉപയോഗിച്ച് മാത്രമേ ഉപയോഗിക്കാൻ കഴിയൂ
സ്പ്ലിറ്റ് മൈനർ കളക്ടർ. 1-നും 14-നും ഇടയിലുള്ള പൂർണ്ണസംഖ്യകളാണ് സാധുവായ മൂല്യങ്ങൾ. ഡിഫോൾട്ട്
ആണ്.

(no-) സിമന്റിങ്
സിമന്റിങ് പ്രവർത്തനക്ഷമമാക്കുന്നു അല്ലെങ്കിൽ പ്രവർത്തനരഹിതമാക്കുന്നു. ഇത് നഴ്സറിയെ നാടകീയമായി ചുരുക്കും
പിൻ ചെയ്‌ത ഒബ്‌ജക്‌റ്റുകൾ പരാമർശിക്കുന്ന ചില ബെഞ്ച്‌മാർക്കുകളിലെ ശേഖരണ സമയം
പ്രധാന കൂമ്പാരത്തിൽ നിന്ന്.

MONO_GC_DEBUG
SGen ഗാർബേജ് കളക്ടർക്കൊപ്പം മോണോ ഉപയോഗിക്കുമ്പോൾ ഈ പരിസ്ഥിതി വേരിയബിൾ ആകാം
കളക്ടറുടെ വിവിധ ഡീബഗ്ഗിംഗ് സവിശേഷതകൾ ഓണാക്കാൻ ഉപയോഗിക്കുന്നു. ഇതിന്റെ മൂല്യം
വേരിയബിൾ എന്നത് കോമയാൽ വേർതിരിച്ച പദങ്ങളുടെ പട്ടികയാണ്. ഈ ഓപ്ഷനുകൾ ഉപയോഗിക്കരുത്
ഉൽപ്പാദനം.

അക്കം ഡീബഗ് ലെവൽ നിർദ്ദിഷ്ട നമ്പറിലേക്ക് സജ്ജമാക്കുന്നു.

പ്രിന്റ്-അലവൻസ്
ഓരോ പ്രധാന ശേഖരത്തിനും ശേഷവും മുമ്പും ശേഷവും മെമ്മറി ഉപഭോഗം പ്രിന്റ് ചെയ്യുന്നു
മൈനർ കളക്ടർക്കുള്ള ശേഖരണവും അലവൻസും, അതായത് എത്രയാണ്
അടുത്ത മേജറിന് മുമ്പ് ചെറിയ ശേഖരങ്ങളിൽ നിന്ന് കൂമ്പാരം വളരാൻ അനുവദിച്ചിരിക്കുന്നു
ശേഖരണം ട്രിഗർ ചെയ്തു.

പ്രിന്റ്-പിന്നിംഗ്
നഴ്സറിയിൽ ഒബ്ജക്റ്റുകൾ പിൻ ചെയ്തിരിക്കുന്ന ക്ലാസുകളെക്കുറിച്ചുള്ള സ്ഥിതിവിവരക്കണക്കുകൾ ശേഖരിക്കുന്നു
അതിനായി ആഗോള റീസെറ്റ് എൻട്രികൾ ചേർത്തിരിക്കുന്നു. എപ്പോൾ ആ സ്ഥിതിവിവരക്കണക്കുകൾ അച്ചടിക്കുന്നു
അടച്ചുപൂട്ടുന്നു.

ശേഖരിക്കുന്നതിന്-മുമ്പ്-അലോക്കുകൾ

ചെക്ക്-അറ്റ്-മൈനർ-ശേഖരങ്ങൾ
ഇത് മൈനർ കളക്ഷനുകളിൽ സ്ഥിരത പരിശോധന നടത്തുകയും മായ്‌ക്കുകയും ചെയ്യുന്നു
ബഫറുകൾ ഉള്ളപ്പോൾ ഡിഫോൾട്ടിനു പകരം ശേഖരണ സമയത്ത് നഴ്സറി
അനുവദിച്ചു (clear-at-gc). ഇല്ലെന്ന് സ്ഥിരത പരിശോധന ഉറപ്പാക്കുന്നു
ഓർത്തിരിക്കുന്ന സെറ്റുകളിൽ ഇല്ലാത്ത പ്രധാനം മുതൽ ചെറിയ പരാമർശങ്ങൾ വരെ.

മോഡ്-യൂണിയൻ-സ്ഥിരത-പരിശോധന
ഓരോ ഫിനിഷിംഗിനും മുമ്പായി മോഡ്-യൂണിയൻ കാർഡ്ടേബിൾ സ്ഥിരതയുള്ളതാണോയെന്ന് പരിശോധിക്കുന്നു
പ്രധാന ശേഖരണ വിരാമം. ഈ പരിശോധന കൺകറന്റ് മേജർക്ക് മാത്രമേ ബാധകമാകൂ
കളക്ടർമാർ.

ചെക്ക്-മാർക്ക്-ബിറ്റുകൾ
പ്രധാന കൂമ്പാരത്തിൽ ബിറ്റുകൾ അടയാളപ്പെടുത്തുന്ന പരിശോധനകൾ ഓരോന്നിന്റെയും അവസാനം സ്ഥിരതയുള്ളതാണ്
പ്രധാന ശേഖരം. സ്ഥിരമായ മാർക്ക് ബിറ്റുകൾ അർത്ഥമാക്കുന്നത് ഒരു വസ്തുവിനെ അടയാളപ്പെടുത്തിയാൽ,
റഫറൻസുകളുള്ള എല്ലാ വസ്തുക്കളും അടയാളപ്പെടുത്തിയിരിക്കണം.

ചെക്ക്-നഴ്സറി-പിൻഡ്
നഴ്സറി കളക്ഷനുകൾക്ക് ശേഷവും കൺകറന്റ് കളക്ഷനുകൾ ആരംഭിക്കുന്നതിന് മുമ്പും പരിശോധിക്കുക
എല്ലാ നഴ്സറി ഒബ്ജക്റ്റുകളും പിൻ ചെയ്‌തിട്ടുണ്ടോ, അല്ലെങ്കിൽ പിൻ ചെയ്‌തിട്ടില്ല - എന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു
സന്ദർഭം. സ്പ്ലിറ്റ് നഴ്സറി കളക്ടർ ഉപയോഗിക്കുമ്പോൾ ഒന്നും ചെയ്യുന്നില്ല.

xdomain-ചെക്കുകൾ
ഒരു അൺലോഡ് ചെയ്തതിൽ റഫറൻസുകളൊന്നും അവശേഷിക്കുന്നില്ലെന്ന് ഉറപ്പാക്കാൻ ഒരു പരിശോധന നടത്തുന്നു
AppDomain.

clear-at-tlab-creation
ത്രെഡ് ലോക്കൽ അലോക്കേഷൻ ബഫർ ചെയ്യുമ്പോൾ നഴ്സറി ക്രമാതീതമായി മായ്‌ക്കുന്നു
(TLAB) സൃഷ്ടിക്കപ്പെടുന്നു. സ്ഥിരസ്ഥിതി ക്രമീകരണം ജിസിയിലെ മുഴുവൻ നഴ്സറിയും മായ്‌ക്കുന്നു
സമയം.

debug-clear-at-tlab-creation
ത്രെഡ് ലോക്കൽ അലോക്കേഷൻ ബഫർ ചെയ്യുമ്പോൾ നഴ്സറി ക്രമാതീതമായി മായ്‌ക്കുന്നു
(TLAB) സൃഷ്‌ടിക്കപ്പെട്ടവയാണ്, എന്നാൽ GC സമയത്ത് അത് `0xff` എന്ന ബൈറ്റ് ഉപയോഗിച്ച് പൂരിപ്പിക്കുന്നു
`clear-at-tlab-creation` ഇല്ലെങ്കിൽ കൂടുതൽ വേഗത്തിൽ ക്രാഷിൽ കലാശിക്കണം
ശരിയായി പ്രവർത്തിക്കുക.

clear-at-gc
ത്രെഡ് ലോക്കൽ ചെയ്യുമ്പോൾ നഴ്‌സറി ചെയ്യുന്നതിനുപകരം ഇത് ജിസി സമയത്ത് മായ്‌ക്കുന്നു
അലോക്കേഷൻ ബഫർ (TLAB) സൃഷ്ടിച്ചു. നഴ്സറി ക്ലിയർ ചെയ്യുന്നതാണ് സ്ഥിരസ്ഥിതി
TLAB സൃഷ്ടിക്കുന്ന സമയം.

അപ്രാപ്തമാക്കുക-മൈനർ
ചെറിയ കളക്ഷനുകൾ ചെയ്യരുത്. നഴ്സറി നിറഞ്ഞാൽ, ഒരു പ്രധാന ശേഖരം
അതിനുപകരം പ്രവർത്തനക്ഷമമാക്കി, അതും പ്രവർത്തനരഹിതമാക്കിയിട്ടില്ലെങ്കിൽ.

ഡിസേബിൾ-മേജർ
പ്രധാന ശേഖരങ്ങൾ ചെയ്യരുത്.

യാഥാസ്ഥിതിക-സ്റ്റാക്ക്-മാർക്ക്
കൃത്യമായ സ്കാനിംഗ് ആണെങ്കിലും സ്റ്റാക്ക് യാഥാസ്ഥിതികമായി സ്കാൻ ചെയ്യാൻ GC-യെ നിർബന്ധിക്കുന്നു
ലഭ്യമല്ല.

നോ-മാനേജ്ഡ്-അലോക്കേറ്റർ
നിയന്ത്രിത അലോക്കേറ്റർ പ്രവർത്തനരഹിതമാക്കുന്നു.

ചെക്ക്-സ്കാൻ-ആരംഭിക്കുന്നു
സജ്ജീകരിക്കുകയാണെങ്കിൽ, ഓരോന്നിനും മുമ്പും ശേഷവും സ്‌കാൻ_സ്റ്റാർട്ട്‌സിൽ ഒരു പ്ലാസിബിലിറ്റി പരിശോധന നടത്തുക
സമാഹാരം

verify-nursery-at-minor-gc
സജ്ജമാക്കിയാൽ, ഓരോന്നിന്റെയും തുടക്കത്തിൽ നഴ്സറിയുടെ പൂർണ്ണമായ ഒബ്ജക്റ്റ് നടത്തം നടത്തുക
ചെറിയ ശേഖരം.

dump-nursery-at-minor-gc
സജ്ജീകരിക്കുകയാണെങ്കിൽ, ഓരോ പ്രായപൂർത്തിയാകാത്തവരുടെയും തുടക്കത്തിൽ നഴ്സറിയിലെ ഉള്ളടക്കങ്ങൾ വലിച്ചെറിയുന്നു
സമാഹാരം. verify-nursery-at-minor-gc സജ്ജീകരിക്കേണ്ടതുണ്ട്.

heap-dump=ഫയല്
ഹീപ്പ് ഉള്ളടക്കങ്ങൾ നിർദ്ദിഷ്‌ട ഫയലിലേക്ക് ഡംപ് ചെയ്യുന്നു. ദൃശ്യവൽക്കരിക്കാൻ
വിവരങ്ങൾ, mono-heapviz ടൂൾ ഉപയോഗിക്കുക.

ബൈനറി-പ്രോട്ടോക്കോൾ=ഫയല്
നിർദ്ദിഷ്ട ഫയലിലേക്ക് ഡീബഗ്ഗിംഗ് ഔട്ട്പുട്ട് ഔട്ട്പുട്ട് ചെയ്യുന്നു. ഇത് പ്രവർത്തിക്കാൻ, മോണോ
sgen-gc.c-ലെ BINARY_PROTOCOL നിർവചിച്ച് സമാഹരിക്കേണ്ടതുണ്ട്. നിങ്ങൾക്ക് കഴിയും
തുടർന്ന് ഔട്ട്പുട്ട് പര്യവേക്ഷണം ചെയ്യാൻ ഈ കമാൻഡ് ഉപയോഗിക്കുക
sgen-grep-binprot 0x1234 0x5678 < ഫയൽ

നഴ്സറി-കാനറികൾ
സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, നഴ്സറിയിൽ അനുവദിച്ചിരിക്കുന്ന വസ്തുക്കൾക്ക് ഒരു കാനറി (ഗാർഡ്) എന്ന പ്രത്യയം നൽകും.
ഓരോ ചെറിയ ശേഖരത്തിലും പരിശോധിക്കുന്ന വാക്ക്. കണ്ടുപിടിക്കാൻ/ഡീബഗ് ചെയ്യാൻ ഉപയോഗിക്കാം
കൂമ്പാര അഴിമതി പ്രശ്നങ്ങൾ.

അന്തിമമാക്കരുത്
പ്രവർത്തനക്ഷമമാക്കിയാൽ, ഫൈനലൈസറുകൾ പ്രവർത്തിപ്പിക്കില്ല. മറ്റെല്ലാം ബാധിക്കപ്പെടില്ല:
അന്തിമമാക്കാവുന്ന ഒബ്‌ജക്‌റ്റുകൾ ഇപ്പോഴും അന്തിമമാക്കൽ ക്യൂവിൽ ഇടും
അവ അന്തിമമാക്കുന്നത് വരെ അതിജീവിക്കുക. ഒരിക്കൽ അവർ ക്യൂവിൽ ഇല്ല
ഇനി അവ പതിവായി ശേഖരിക്കും.

ലോഗ്-ഫൈനലൈസറുകൾ
ഡീബഗ്ഗിംഗിനെ സഹായിക്കുന്നതിന് അന്തിമ പ്രക്രിയയ്ക്ക് ചുറ്റും വാചാലമായി ലോഗ് ചെയ്യുക.

MONO_GAC_PREFIX
ഗ്ലോബൽ അസംബ്ലി കാഷെകൾക്കായി റൺടൈം ഉപയോഗിക്കുന്ന ഒരു പ്രിഫിക്സ് നൽകുന്നു. ഡയറക്ടറികൾ
പ്ലാറ്റ്ഫോം പാത്ത് സെപ്പറേറ്റർ (യുണിക്സിലെ കോളണുകൾ) ഉപയോഗിച്ച് വേർതിരിക്കുന്നു. MONO_GAC_PREFIX
ഒരു പ്രിഫിക്‌സ് ചെയ്‌ത ഇൻസ്റ്റാളിന്റെ മുകളിലെ ഡയറക്‌ടറിയിലേക്ക് പോയിന്റ് ചെയ്യണം. അല്ലെങ്കിൽ ഡയറക്ടറിയിലേക്ക്
gacutil /gacdir കമാൻഡിൽ നൽകിയിരിക്കുന്നു. ഉദാഹരണം:
/home/username/.mono:/usr/local/mono/

MONO_IOMAP
മോശമായി എഴുതപ്പെട്ട ആപ്ലിക്കേഷനുകളെ സഹായിക്കുന്നതിന് ചില ഫയൽനാമം റീറൈറ്റിംഗ് പിന്തുണ പ്രവർത്തനക്ഷമമാക്കുന്നു
ഹാർഡ്-കോഡ് വിൻഡോസ് പാതകൾ. സ്ട്രിപ്പ് ഡ്രൈവിലേക്ക് "ഡ്രൈവ്" എന്ന കോളൺ-വേർതിരിച്ച ലിസ്റ്റിലേക്ക് സജ്ജമാക്കുക
a-യിലെ എല്ലാ ഡയറക്‌ടറിയിലും കേസ്-ഇൻസെൻസിറ്റീവ് ഫയൽ പൊരുത്തപ്പെടുത്തൽ നടത്താൻ അക്ഷരങ്ങൾ, അല്ലെങ്കിൽ "കേസ്"
പാത. "എല്ലാം" എല്ലാ റീറൈറ്റിംഗ് രീതികളും പ്രാപ്തമാക്കുന്നു. (ബാക്ക്‌സ്ലാഷുകൾ എല്ലായ്പ്പോഴും മാപ്പ് ചെയ്തിരിക്കുന്നു
ഈ വേരിയബിൾ സാധുവായ ഓപ്ഷനായി സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ സ്ലാഷ് ചെയ്യുന്നു).
ഉദാഹരണത്തിന്, ഇത് ഷെല്ലിൽ നിന്ന് പ്രവർത്തിക്കും:

MONO_IOMAP=ഡ്രൈവ്:കേസ്
MONO_IOMAP കയറ്റുമതി ചെയ്യുക

നിങ്ങളുടെ വെബ് ആപ്ലിക്കേഷനുകൾ ഹോസ്റ്റുചെയ്യാൻ നിങ്ങൾ mod_mono ഉപയോഗിക്കുകയാണെങ്കിൽ, നിങ്ങൾക്ക് ഇത് ഉപയോഗിക്കാം MonoIOMAP
പകരം നിർദ്ദേശം, ഇതുപോലെ:

MonoIOMAP എല്ലാം

കാണുക mod_mono(8) കൂടുതൽ വിവരങ്ങൾക്ക്.

അധികമായി. മോണോയിൽ ഒരു പ്രൊഫൈലർ മൊഡ്യൂൾ ഉൾപ്പെടുന്നു, അത് എന്താണെന്ന് ട്രാക്ക് ചെയ്യാൻ അനുവദിക്കുന്നു
IOMAP കോഡ് ചെയ്യേണ്ട ഫയൽ പാതകളിലേക്കുള്ള ക്രമീകരണങ്ങൾ. ട്രാക്കിംഗ് കോഡ് റിപ്പോർട്ട് ചെയ്യുന്നു
IOMAP-ed കോൾ ചെയ്‌ത നിയന്ത്രിത ലൊക്കേഷൻ (മുഴുവൻ സ്റ്റാക്ക് ട്രെയ്‌സ്).
പ്രോസസ്സ് എക്സിറ്റ്, എല്ലാ IOMAP-ed സ്ട്രിംഗുകളും സൃഷ്ടിച്ച ലൊക്കേഷനുകൾ കൈകാര്യം ചെയ്യുന്നു
കോഡ്. എല്ലായ്‌പ്പോഴും സാധ്യമല്ലാത്തതിനാൽ പിന്നീടുള്ള റിപ്പോർട്ട് ഏകദേശം മാത്രമാണ്
സ്ട്രിംഗ് സൃഷ്ടിച്ച യഥാർത്ഥ സ്ഥാനം കണക്കാക്കുക. കോഡ് ലളിതമാണ് ഉപയോഗിക്കുന്നത്
ഹ്യൂറിസ്റ്റിക്സ് - ഇത് സ്ട്രിംഗ് അലോക്കേഷൻ ലൊക്കേഷനിലേക്ക് നയിക്കുന്ന സ്റ്റാക്ക് ട്രെയ്സ് വിശകലനം ചെയ്യുന്നു
കൂടാതെ GAC-യിലും ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്ന അസംബ്ലികളിൽ താമസിക്കുന്ന എല്ലാ മാനേജ് ചെയ്ത കോഡുകളും അവഗണിക്കുന്നു
മോണോ ഉപയോഗിച്ച് ഷിപ്പ് ചെയ്ത ക്ലാസ് ലൈബ്രറികളിലെന്നപോലെ (അവ സ്വതന്ത്രമാണെന്ന് അനുമാനിക്കപ്പെടുന്നതിനാൽ
കേസ്-സെൻസിറ്റിവിറ്റി പ്രശ്നങ്ങൾ). ഇത് ഉപയോക്താവിന്റെ കോഡിലെ ആദ്യ സ്ഥാനം റിപ്പോർട്ട് ചെയ്യുന്നു -
മിക്ക കേസുകളിലും സ്ട്രിംഗ് അനുവദിച്ചിരിക്കുന്ന സ്ഥലമോ വളരെ അടുത്തോ ആയിരിക്കും ഇത്
ലൊക്കേഷൻ. റിപ്പോർട്ടിംഗ് കോഡ് ഒരു ഇഷ്‌ടാനുസൃത പ്രൊഫൈലർ മൊഡ്യൂളായി നടപ്പിലാക്കുന്നു (കാണുക
"പ്രൊഫൈലിംഗ്" വിഭാഗം) കൂടാതെ ഇനിപ്പറയുന്ന രീതിയിൽ ലോഡുചെയ്യാനാകും:

mono --profile=iomap yourapplication.exe

എന്നിരുന്നാലും, മോണോ നിലവിൽ ഒരു പ്രൊഫൈലർ മൊഡ്യൂളിനെ മാത്രമേ പിന്തുണയ്ക്കുന്നുള്ളൂ എന്നത് ശ്രദ്ധിക്കുക.

MONO_LLVM
മോണോ LLVM കോഡ് ജനറേഷൻ ബാക്കെൻഡ് ഉപയോഗിക്കുമ്പോൾ നിങ്ങൾക്ക് ഈ പരിസ്ഥിതി ഉപയോഗിക്കാം
LLVM കമ്പൈലറിലേക്ക് കോഡ് ജനറേഷൻ ഓപ്ഷനുകൾ കൈമാറുന്നതിനുള്ള വേരിയബിൾ.

MONO_MANAGED_WATCHER
"അപ്രാപ്‌തമാക്കി" എന്ന് സജ്ജീകരിച്ചാൽ, System.IO.FileSystemWatcher ഒരു ഫയൽ വാച്ചർ ഉപയോഗിക്കും.
എല്ലാ നിരീക്ഷണ അഭ്യർത്ഥനകളും നിശബ്ദമായി അവഗണിക്കുന്ന നടപ്പിലാക്കൽ. എന്തെങ്കിലും സജ്ജമാക്കിയാൽ
മറ്റ് മൂല്യം, System.IO.FileSystemWatcher ഡിഫോൾട്ട് മാനേജ് ചെയ്യുന്നത് ഉപയോഗിക്കും
നടപ്പിലാക്കൽ (പതുക്കെ). സജ്ജീകരിച്ചിട്ടില്ലെങ്കിൽ, മോണോ inotify, FAM, Gamin, kevent എന്നിവ ഉപയോഗിക്കാൻ ശ്രമിക്കും
Windows-ലെ Unix സിസ്റ്റങ്ങൾക്കും നേറ്റീവ് API കോളുകൾക്കും കീഴിൽ, മാനേജ് ചെയ്തവയിലേക്ക് മടങ്ങുന്നു
പിശകിൽ നടപ്പിലാക്കൽ.

MONO_MESSAGING_PROVIDER
System.Messaging അത് നടപ്പിലാക്കുന്നതിനായി മോണോ ഒരു പ്ലഗിൻ മോഡലിനെ പിന്തുണയ്ക്കുന്നു
വൈവിധ്യമാർന്ന സന്ദേശമയയ്‌ക്കൽ നടപ്പിലാക്കലുകൾ (ഉദാ: AMQP, ActiveMQ) പിന്തുണയ്ക്കാൻ സാധ്യമാണ്.
ഏത് സന്ദേശമയയ്‌ക്കൽ നിർവ്വഹണമാണ് എവിറോൺമെന്റ് വേരിയബിൾ ഉപയോഗിക്കേണ്ടതെന്ന് വ്യക്തമാക്കാൻ
ദാതാവിനുള്ള മുഴുവൻ ക്ലാസിന്റെ പേരും സജ്ജീകരിക്കേണ്ടതുണ്ട്. ഉദാ: RabbitMQ ഉപയോഗിക്കാൻ
അടിസ്ഥാന AMQP നടപ്പിലാക്കൽ വേരിയബിൾ ഇനിപ്പറയുന്നതിലേക്ക് സജ്ജമാക്കണം:

Mono.Messaging.RabbitMQ.RabbitMQMessagingProvider,Mono.Messaging.RabbitMQ

MONO_NO_SMP
സെറ്റ് ചെയ്‌താൽ മോണോ പ്രോസസ്സ് ഒരൊറ്റ പ്രോസസറിലേക്ക് ബൈൻഡ് ചെയ്യപ്പെടും. ഇതായിരിക്കാം
ഡീബഗ്ഗ് ചെയ്യുമ്പോഴോ റേസ് സാഹചര്യങ്ങളിൽ പ്രവർത്തിക്കുമ്പോഴോ ഉപയോഗപ്രദമാണ്.

MONO_NO_TLS
ത്രെഡ് ലോക്കൽ ആക്സസുകളുടെ ഇൻലൈനിംഗ് പ്രവർത്തനരഹിതമാക്കുക. നിങ്ങൾക്ക് ഒരു സെഗ്ഫാൾട്ട് ലഭിക്കുകയാണെങ്കിൽ ഇത് സജ്ജീകരിക്കാൻ ശ്രമിക്കുക
മോണോയുടെ നിർവ്വഹണത്തിന്റെ തുടക്കത്തിൽ.

MONO_PATH
ലൈബ്രറി എവിടെയാണ് തിരയേണ്ടതെന്ന് റൺടൈമിലേക്ക് ഒരു തിരയൽ പാത നൽകുന്നു
ഫയലുകൾ. ആപ്ലിക്കേഷനുകൾ ഡീബഗ്ഗിംഗ് ചെയ്യാൻ സൗകര്യപ്രദമായ ഒരു ഉപകരണമാണിത്, പക്ഷേ
അസംബ്ലി തകർക്കുന്നതിനാൽ വിന്യസിച്ച ആപ്ലിക്കേഷനുകൾ ഉപയോഗിക്കരുത്
സൂക്ഷ്മമായ വഴികളിൽ ലോഡർ.
ഡയറക്‌ടറികളെ പ്ലാറ്റ്‌ഫോം പാത്ത് സെപ്പറേറ്റർ (unix-ലെ കോളണുകൾ) ഉപയോഗിച്ച് വേർതിരിക്കുന്നു. ഉദാഹരണം:
/home/username/lib:/usr/local/mono/lib
ലോഞ്ച്-ടൈം കറന്റ് ഡയറക്‌ടറിയെ അടിസ്ഥാനമാക്കിയാണ് ആപേക്ഷിക പാതകൾ പരിഹരിക്കുന്നത്.
MONO_PATH-ലേക്കുള്ള ഇതര പരിഹാരങ്ങളിൽ ഇവ ഉൾപ്പെടുന്നു: ഇതിലേക്ക് ലൈബ്രറികൾ ഇൻസ്റ്റാൾ ചെയ്യുക
ഗ്ലോബൽ അസംബ്ലി കാഷെ (കാണുക ഗകുട്ടിൽ(1)) അല്ലെങ്കിൽ ആശ്രിതൻ ഉള്ളത്
പ്രധാന എക്സിക്യൂട്ടബിളിനൊപ്പം വശങ്ങളിലായി ലൈബ്രറികൾ.
ആപ്ലിക്കേഷനായി ശുപാർശ ചെയ്യുന്ന സമ്പ്രദായങ്ങളുടെ പൂർണ്ണമായ വിവരണത്തിന്
വിന്യാസം, കാണുക
http://www.mono-project.com/docs/getting-started/application-deployment/

MONO_RTC
സ്റ്റാറ്റിസ്റ്റിക്കൽ പ്രൊഫൈലറിൽ പരീക്ഷണാത്മക RTC പിന്തുണ: ഉപയോക്താവിന് ഉണ്ടെങ്കിൽ
അനുമതി, കൂടുതൽ കൃത്യമായ സ്ഥിതിവിവരക്കണക്കുകൾ ശേഖരിക്കുന്നു. MONO_RTC
മൂല്യം Linux rtc അനുവദിക്കുന്നതിലേക്ക് പരിമിതപ്പെടുത്തിയിരിക്കണം: രണ്ടിന്റെ ശക്തി
64 മുതൽ 8192 Hz വരെ. 4096 Hz പോലെയുള്ള ഉയർന്ന ഫ്രീക്വൻസികൾ പ്രവർത്തനക്ഷമമാക്കാൻ, റൂട്ടായി പ്രവർത്തിപ്പിക്കുക:

echo 4096 > /proc/sys/dev/rtc/max-user-freq

ഉദാഹരണത്തിന്:

MONO_RTC=4096 mono --profiler=default:stat program.exe

MONO_SHARED_DIR
".wapi" ഹാൻഡിൽ സ്ഥിതി സംഭരിച്ചിരിക്കുന്ന ഡയറക്ടറി സജ്ജീകരിക്കുകയാണെങ്കിൽ. ഇതാണ്
Windows I/O എമുലേഷൻ ലെയർ അതിന്റെ പങ്കിട്ട സ്റ്റേറ്റ് ഡാറ്റ സംഭരിക്കുന്ന ഡയറക്ടറി
(ഫയലുകൾ, ഇവന്റുകൾ, മ്യൂട്ടക്സുകൾ, പൈപ്പുകൾ). സ്ഥിരസ്ഥിതിയായി മോണോ ".wapi" ഡയറക്‌ടറി സംഭരിക്കും
ഉപയോക്താക്കളുടെ ഹോം ഡയറക്ടറിയിൽ.

MONO_SHARED_HOSTNAME
എപ്പോൾ ഹോസ്റ്റ് നാമത്തിന് പകരമായി ഈ വേരിയബിളിന്റെ സ്ട്രിംഗ് മൂല്യം ഉപയോഗിക്കുന്നു
".wapi" ഡയറക്ടറിയിൽ ഫയൽ നാമങ്ങൾ സൃഷ്ടിക്കുന്നു. നിങ്ങളുടെ ഹോസ്റ്റ് നാമമാണെങ്കിൽ ഇത് സഹായിക്കുന്നു
ഒരു മോണോ ആപ്ലിക്കേഷൻ പ്രവർത്തിക്കുമ്പോൾ അല്ലെങ്കിൽ നിങ്ങളുടെ പക്കൽ ഉണ്ടെങ്കിൽ മെഷീൻ മാറാൻ സാധ്യതയുണ്ട്
.wapi ഡയറക്‌ടറി വിവിധ കമ്പ്യൂട്ടറുകൾക്കിടയിൽ പങ്കിട്ടു. മോണോ സാധാരണയായി ഉപയോഗിക്കുന്നത്
ഒന്നിലധികം മോണോയിൽ സംസ്ഥാനം പങ്കിടാൻ ഉപയോഗിക്കുന്ന ഫയലുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള ഹോസ്റ്റ്നാമം
പ്രക്രിയകൾ. ഇത് പങ്കിട്ടേക്കാവുന്ന ഹോം ഡയറക്ടറികളെ പിന്തുണയ്ക്കുന്നതിനാണ് ചെയ്യുന്നത്
നെറ്റ്വർക്ക്.

MONO_STRICT_IO_EMULATION
സജ്ജീകരിക്കുകയാണെങ്കിൽ, IO പ്രവർത്തനങ്ങളിൽ അധിക പരിശോധനകൾ നടത്തുന്നു. നിലവിൽ, ഇതിൽ മാത്രം ഉൾപ്പെടുന്നു
ഫയൽ റൈറ്റുകളെ ചുറ്റിപ്പറ്റിയുള്ള ഉപദേശക ലോക്കുകൾ.

MONO_THEME
Windows.Forms ഉപയോഗിക്കേണ്ട തീമിന്റെ പേര്. ഇന്ന് ലഭ്യമായ തീമുകളിൽ ഉൾപ്പെടുന്നു
"clearlooks", "Nice", "win32". സ്ഥിരസ്ഥിതി "win32" ആണ്.

MONO_TLS_SESSION_CACHE_TIMEOUT
സമയം, നിമിഷങ്ങൾക്കുള്ളിൽ, SSL/TLS സെഷൻ കാഷെ അത് ഒഴിവാക്കാനായി എൻട്രി നിലനിർത്തും
ക്ലയന്റും സെർവറും തമ്മിലുള്ള ഒരു പുതിയ ചർച്ച. ചർച്ചകൾ വളരെ CPU ആണ്
തീവ്രമായതിനാൽ ഒരു ആപ്ലിക്കേഷൻ-നിർദ്ദിഷ്ട ഇഷ്‌ടാനുസൃത മൂല്യം ചെറിയവയ്ക്ക് ഉപയോഗപ്രദമായേക്കാം
എംബഡഡ് സിസ്റ്റങ്ങൾ. സ്ഥിരസ്ഥിതി 180 സെക്കൻഡ് ആണ്.

MONO_THREADS_PER_CPU
പൊതു ത്രെഡ്‌പൂളിലെ ഏറ്റവും കുറഞ്ഞ ത്രെഡുകളുടെ എണ്ണം ആയിരിക്കും
MONO_THREADS_PER_CPU * CPU-കളുടെ എണ്ണം. ഈ വേരിയബിളിന്റെ ഡിഫോൾട്ട് മൂല്യം 1 ആണ്.

MONO_XMLSERIALIZER_THS
ഒരു ഇഷ്‌ടാനുസൃത സീരിയലൈസർ നിർമ്മിക്കുന്നതിനുള്ള XmlSerializer-ന്റെ പരിധി നിയന്ത്രിക്കുന്നു
പ്രതിഫലനം അടിസ്ഥാനമാക്കിയുള്ള വ്യാഖ്യാതാവ് ഉപയോഗിക്കുന്നതിന് പകരം ക്ലാസ് നൽകി. സാധ്യമായ മൂല്യങ്ങൾ
ഒരു ഇഷ്‌ടാനുസൃത സീരിയലൈസറിന്റെ ഉപയോഗം അപ്രാപ്‌തമാക്കുന്നതിന് `ഇല്ല' അല്ലെങ്കിൽ എപ്പോൾ എന്ന് സൂചിപ്പിക്കാൻ ഒരു നമ്പർ
XmlSerializer സീരിയൽ ചെയ്യാൻ തുടങ്ങണം. സ്ഥിര മൂല്യം 50 ആണ്, അതായത്
50-ാമത്തെ ഉപയോഗത്തിൽ ഒരു കസ്റ്റം സീരിയലൈസർ നിർമ്മിക്കപ്പെടും.

MONO_X509_REVOCATION_MODE
ഒരു X509 സർട്ടിഫിക്കറ്റ് ചെയിൻ സാധൂകരിക്കുമ്പോൾ ഉപയോഗിക്കുന്ന അസാധുവാക്കൽ മോഡ് സജ്ജമാക്കുന്നു (https,
ftps, smtps...). ഡിഫോൾട്ട് 'നോചെക്ക്' ആണ്, അത് അസാധുവാക്കൽ പരിശോധന നടത്തില്ല
എല്ലാം. സാധ്യമായ മറ്റ് മൂല്യങ്ങൾ 'ഓഫ്‌ലൈൻ' ആണ്, അത് CRL പരിശോധന നടത്തുന്നു (അല്ല
ഇതുവരെ നടപ്പിലാക്കിയിട്ടുണ്ട്) കൂടാതെ അസാധുവാക്കൽ പരിശോധിക്കാൻ OCSP, CRL എന്നിവ ഉപയോഗിക്കുന്ന 'ഓൺലൈൻ'
നില (ഇതുവരെ നടപ്പിലാക്കിയിട്ടില്ല).

ENVIRONMENT വ്യത്യാസങ്ങൾ വേണ്ടി ഡീബഗ്ഗിംഗ്


MONO_ASPNET_NODELETE
ഏതെങ്കിലും മൂല്യത്തിലേക്ക് സജ്ജീകരിച്ചാൽ, ASP.NET പിന്തുണാ ക്ലാസുകൾ സൃഷ്‌ടിച്ച താൽക്കാലിക ഉറവിട ഫയലുകൾ
നീക്കം ചെയ്യില്ല. അവ ഉപയോക്താവിന്റെ താൽക്കാലിക ഡയറക്ടറിയിൽ സൂക്ഷിക്കും.

MONO_DEBUG
സജ്ജമാക്കിയാൽ, ഡീബഗ്ഗിംഗിന് ഉപയോഗപ്രദമായ ചില റൺടൈമിന്റെ സവിശേഷതകൾ പ്രവർത്തനക്ഷമമാക്കുന്നു. ഈ വേരിയബിൾ
ഡീബഗ്ഗിംഗ് ഓപ്ഷനുകളുടെ കോമയാൽ വേർതിരിച്ച ഒരു ലിസ്റ്റ് അടങ്ങിയിരിക്കണം. നിലവിൽ, ദി
ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ പിന്തുണയ്ക്കുന്നു:

ബ്രേക്ക്-ഓൺ-വെരിഫൈഡ്
ഈ വേരിയബിൾ സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, മോണോ VM ഒരു സ്ഥിരീകരണ പ്രശ്നത്തിലേക്ക് നീങ്ങുമ്പോൾ,
ഒരു അപവാദം എറിയുന്നതിനുപകരം അത് ഡീബഗ്ഗറിലേക്ക് തകരും. ഇതാണ്
വെരിഫയർ പ്രശ്നങ്ങൾ ഡീബഗ്ഗ് ചെയ്യുമ്പോൾ ഉപയോഗപ്രദമാണ്

കാസ്റ്റുകൾ InvalidCast-ൽ നിന്ന് കൂടുതൽ വിശദമായ വിവരങ്ങൾ ലഭിക്കാൻ ഈ ഓപ്ഷൻ ഉപയോഗിക്കാം
ഒഴിവാക്കലുകൾ, ഉൾപ്പെട്ടിരിക്കുന്ന തരങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങൾ ഇത് നൽകും.

ശേഖരിക്കുക-പേജ്ഫാൾട്ട് സ്ഥിതിവിവരക്കണക്കുകൾ
പേജ് തെറ്റുകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ ശേഖരിക്കുന്നു. ട്രാക്ക് ചെയ്യാൻ ഇത് ആന്തരികമായി ഉപയോഗിക്കുന്നു
മെറ്റാഡാറ്റ ലോഡുചെയ്യുന്നതിനായി സൃഷ്ടിച്ച പേജ് പിശകുകളുടെ എണ്ണം. ഇത് പ്രദർശിപ്പിക്കാൻ
"--stats" കമാൻഡ് ലൈൻ ഓപ്ഷൻ ഉപയോഗിച്ച് നിങ്ങൾ ഈ ഓപ്ഷൻ ഉപയോഗിക്കേണ്ട വിവരങ്ങൾ.

dont-free-domains
ഇത് മൾട്ടി-ആപ്പ്ഡൊമെയ്ൻ ആപ്ലിക്കേഷനുകൾക്കുള്ള ഒപ്റ്റിമൈസേഷനാണ് (ഏറ്റവും സാധാരണയായി
ASP.NET ആപ്ലിക്കേഷനുകൾ). ആന്തരിക പരിമിതികൾ കാരണം മോണോ, മോണോ ഡിഫോൾട്ടായി
മൾട്ടി-ആപ്പ്‌ഡൊമെയ്‌ൻ ആപ്ലിക്കേഷനുകളിൽ ടൈപ്പ് ചെയ്‌ത അലോക്കേഷനുകൾ അവർക്കാവും ഉപയോഗിക്കില്ല
ഒരു ഡൊമെയ്ൻ അൺലോഡ് ചെയ്യുമ്പോൾ മെമ്മറി ചോർത്തുക. ഇതൊരു നല്ല സ്ഥിരസ്ഥിതിയാണെങ്കിലും, വേണ്ടി
AppDomain-നേക്കാൾ കൂടുതൽ ഉപയോഗിക്കുന്ന ആപ്ലിക്കേഷനുകൾ (ഉദാഹരണത്തിന്, ASP.NET
ആപ്ലിക്കേഷനുകൾ) വർദ്ധിച്ചതിന് ചെറിയ ചോർച്ചകൾ ട്രേഡ് ചെയ്യുന്നത് മൂല്യവത്താണ്
പ്രകടനം (കൂടാതെ, ASP.NET ആപ്ലിക്കേഷനുകൾ നടക്കാൻ സാധ്യതയില്ലാത്തതിനാൽ
പ്രൊഡക്ഷൻ സിസ്റ്റങ്ങളിൽ ആപ്ലിക്കേഷൻ ഡൊമെയ്‌നുകൾ അൺലോഡ് ചെയ്യാൻ, അത് ഉപയോഗിക്കുന്നത് മൂല്യവത്താണ്
ഈ സവിശേഷത).

dyn-runtime-invoke
പകരം ഒരു ജനറിക് റൺടൈം-ഇൻവോക്ക് റാപ്പർ ഉപയോഗിക്കാൻ ശ്രമിക്കുന്നതിന് റൺടൈമിനെ നിർദ്ദേശിക്കുന്നു
ഒരു ഇൻവോക്ക് റാപ്പർ സൃഷ്ടിക്കുന്നത്.

ജിഡിബി സജ്ജീകരിക്കുന്നതിന് തുല്യമാണ് MONO_XDEBUG വേരിയബിൾ, ഇത് a യിലേക്ക് ചിഹ്നങ്ങൾ പുറപ്പെടുവിക്കുന്നു
ജിഡിബിയിൽ ലോഡുചെയ്യാൻ കഴിയുന്ന കോഡ് JIT ആയതിനാൽ പങ്കിട്ട ലൈബ്രറി
ചിഹ്നങ്ങൾ.

gen-seq-പോയിന്റുകൾ
IL സ്റ്റാക്ക് ശൂന്യമായിരിക്കുന്ന സീക്വൻസ് പോയിന്റുകൾ യാന്ത്രികമായി ജനറേറ്റുചെയ്യുന്നു. ഇവ
ഡീബഗ്ഗറിന് ഒരു ബ്രേക്ക്‌പോയിന്റ് സജ്ജീകരിക്കാൻ കഴിയുന്ന സ്ഥലങ്ങളാണ്.

വ്യക്തമായ ശൂന്യമായ പരിശോധനകൾ
വേരിയബിൾ ഡീറഫറൻസുകളിൽ വ്യക്തമായ NULL ചെക്ക് സൃഷ്ടിക്കാൻ JIT-യെ പ്രേരിപ്പിക്കുന്നു
ഒരു SIGSEGV അല്ലെങ്കിൽ മറ്റൊന്ന് ഉയർത്തുന്നതിന് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തെ ആശ്രയിക്കുന്നതിനുപകരം
അസാധുവായ മെമ്മറി ലൊക്കേഷൻ ആക്സസ് ചെയ്യുമ്പോൾ ട്രാപ്പ് ഇവന്റിന്റെ രൂപം.

ഹാൻഡിൽ-സൈന്റ്
ഇന്ററപ്റ്റ് സിഗ്നൽ (കൺട്രോൾ-സി) ക്യാപ്ചർ ചെയ്യുകയും എപ്പോൾ ഒരു സ്റ്റാക്ക് ട്രെയ്സ് പ്രദർശിപ്പിക്കുകയും ചെയ്യുന്നു
അമർത്തി. തന്നിരിക്കുന്ന സമയത്ത് പ്രോഗ്രാം എവിടെയാണ് പ്രവർത്തിക്കുന്നതെന്ന് കണ്ടെത്താൻ ഉപയോഗപ്രദമാണ്
പോയിന്റ്. ഇത് ഒരൊറ്റ ത്രെഡിന്റെ സ്റ്റാക്ക് ട്രെയ്സ് മാത്രമേ കാണിക്കൂ.

init-stacks
അറിയപ്പെടുന്ന ചില മൂല്യങ്ങൾ ഉപയോഗിച്ച് സ്റ്റാക്ക് സമാരംഭിക്കുന്നതിന് റൺടൈം നിർദ്ദേശിക്കുന്നു (0x2a
x86-64-ൽ) JIT എഞ്ചിൻ ഡീബഗ്ഗിൻ ചെയ്യാൻ സഹായിക്കുന്ന ഒരു രീതിയുടെ തുടക്കത്തിൽ.

പ്രതിനിധികളെ സൂക്ഷിക്കുക
ഈ ഓപ്‌ഷൻ ഇനി പരാമർശിക്കപ്പെടാത്ത ഡെലിഗേറ്റ് ട്രാംപോളിനുകളെ ചോർത്തും
ഒരു ഡെലിഗേറ്റ് ദുരുപയോഗത്തെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ഉപയോക്താവിനെ അവതരിപ്പിക്കാൻ.
അടിസ്ഥാനപരമായി ഒരു ഡെലിഗേറ്റ് ഇൻസ്‌റ്റൻസ് സൃഷ്‌ടിച്ചേക്കാം, അത് നിയന്ത്രിക്കാത്ത കോഡിലേക്ക് കൈമാറും,
കൂടാതെ നിയന്ത്രിത കോഡിൽ റഫറൻസുകളൊന്നും സൂക്ഷിച്ചിട്ടില്ല, അത് മാലിന്യങ്ങൾ കോഡ് ശേഖരിക്കും.
ഈ ഓപ്ഷൻ ഉപയോഗിച്ച്, പ്രശ്നങ്ങളുടെ ഉറവിടം കണ്ടെത്താൻ കഴിയും.

റിവേഴ്സ്-പിൻവോക്ക്-അപവാദങ്ങൾ
ഈ ഓപ്‌ഷൻ സമയത്ത് ഒരു വിവരണാത്മക സന്ദേശത്തോടെ മോണോ നിർത്തലാക്കും
ഒരു ഒഴിവാക്കലിന് ശേഷം സ്റ്റാക്ക് അൺവൈൻഡിംഗ് അത് ഒരു നേറ്റീവ് സ്റ്റാക്ക് ഫ്രെയിമിൽ എത്തുന്നു. ഈ
നിയന്ത്രിത പ്രതിനിധിയെ നേറ്റീവ് കോഡിലേക്കും മാനേജ് ചെയ്തവയിലേക്കും കൈമാറുമ്പോൾ സംഭവിക്കുന്നു
പ്രതിനിധി ഒരു അപവാദം എറിയുന്നു. മോണോ സാധാരണയായി സ്റ്റാക്ക് അഴിക്കാൻ ശ്രമിക്കും
ആദ്യത്തെ (നിയന്ത്രിത) ഒഴിവാക്കൽ ഹാൻഡ്‌ലർ, അത് ഏത് നേറ്റീവ് സ്റ്റാക്കും ഒഴിവാക്കും
പ്രക്രിയയിൽ ഫ്രെയിമുകൾ. ഇത് നിർവചിക്കാത്ത സ്വഭാവത്തിലേക്ക് നയിക്കുന്നു (മോണോ അല്ലാത്തതിനാൽ
നേറ്റീവ് ഫ്രെയിമുകൾ എങ്ങനെ പ്രോസസ്സ് ചെയ്യാമെന്ന് അറിയാം), ചോർച്ചകൾ, ഒരുപക്ഷേ ക്രാഷുകൾ എന്നിവയും.

no-gdb-backtrace
a-ന് ശേഷമുള്ള റൺടൈം പുറപ്പെടുവിക്കുന്ന GDB ബാക്ക്ട്രെയിസിനെ ഈ ഓപ്‌ഷൻ പ്രവർത്തനരഹിതമാക്കും
നിയന്ത്രിക്കാത്ത കോഡിൽ SIGSEGV അല്ലെങ്കിൽ SIGABRT.

സസ്പെൻഡ്-ഓൺ-സിഗ്സെഗ്വ്
ഒരു നേറ്റീവ് SIGSEGV ലഭിക്കുമ്പോൾ ഈ ഓപ്ഷൻ പ്രോഗ്രാം താൽക്കാലികമായി നിർത്തും.
gdb-ന് കീഴിൽ സംഭവിക്കാത്ത ക്രാഷുകൾ ഡീബഗ്ഗുചെയ്യുന്നതിന് ഇത് ഉപയോഗപ്രദമാണ്, കാരണം a
തത്സമയ പ്രക്രിയയിൽ ഒരു കോർ ഫയലിനേക്കാൾ കൂടുതൽ വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു.

ചെക്ക്-പിൻവോക്ക്-കോൾകോൺവ്
കോൾ കൺവെൻഷൻ പൊരുത്തക്കേടുകൾ പരിശോധിക്കുന്നതിന് ഈ ഓപ്ഷൻ റൺടൈമിനെ സഹായിക്കുന്നു
പിൻവോക്ക് ഉപയോഗിക്കുമ്പോൾ, അതായത് cdecl/stdcall മിക്സ് ചെയ്യുക. ഇത് വിൻഡോകളിൽ മാത്രമേ പ്രവർത്തിക്കൂ. എങ്കിൽ
ഒരു പൊരുത്തക്കേട് കണ്ടെത്തി, ഒരു ExecutionEngineException എറിയപ്പെടുന്നു.

MONO_LOG_LEVEL
ലോഗിംഗ് ലെവൽ, സാധ്യമായ മൂല്യങ്ങൾ `പിശക്', `നിർണ്ണായക', `മുന്നറിയിപ്പ്', `സന്ദേശം',
`വിവരം', `ഡീബഗ്'. കൂടുതൽ വിവരങ്ങൾക്ക് ഡീബഗ്ഗിംഗ് വിഭാഗം കാണുക.

MONO_LOG_MASK
ലോഗിംഗ് ബാധകമാകുന്ന മോണോ റൺടൈമിന്റെ ഡൊമെയ്‌ൻ നിയന്ത്രിക്കുന്നു. സജ്ജമാക്കിയാൽ, ദി
ലോഗ് മാസ്ക് സെറ്റ് മൂല്യത്തിലേക്ക് മാറ്റി. സാധ്യമായ മൂല്യങ്ങൾ "asm" (അസംബ്ലി ലോഡർ),
"തരം", "dll" (നേറ്റീവ് ലൈബ്രറി ലോഡർ), "gc" (ഗാർബേജ് കളക്ടർ), "cfg" (config ഫയൽ
ലോഡർ), "aot" (പ്രീ കംപൈലർ), "സുരക്ഷ" (ഉദാ: Moonlight CoreCLR പിന്തുണ) കൂടാതെ
"എല്ലാം". സ്ഥിര മൂല്യം "എല്ലാം" ആണ്. മാസ്ക് മൂല്യം മാറ്റുന്നത് പ്രദർശിപ്പിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു
ഒരു നിശ്ചിത ഘടകത്തിനായുള്ള സന്ദേശങ്ങൾ മാത്രം. കോമ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒന്നിലധികം മാസ്കുകൾ ഉപയോഗിക്കാം
അവരെ വേർതിരിക്കുന്നു. ഉദാഹരണത്തിന്, കോൺഫിഗറേഷൻ ഫയൽ സന്ദേശങ്ങളും അസംബ്ലി ലോഡറും കാണാൻ
സന്ദേശങ്ങൾ നിങ്ങളെ മാസ്ക് "asm,cfg" ആയി സജ്ജമാക്കുന്നു.

MONO_TRACE
മെത്തേഡ് കോളുകളുടെ റൺടൈം ട്രെയ്‌സിംഗിനായി ഉപയോഗിക്കുന്നു. കോമയുടെ ഫോർമാറ്റ് ട്രെയ്സ് വേർതിരിച്ചു
ഓപ്ഷനുകൾ ഇതാണ്:

[-]എം:രീതിയുടെ പേര്
[-]N:നെയിംസ്പേസ്
[-]ടി:ക്ലാസിന്റെ പേര്
[-]എല്ലാം
[-]പ്രോഗ്രാം
പ്രവർത്തനരഹിതമാക്കി ട്രെയ്സ് ഔട്ട്പുട്ട് ആരംഭിക്കുമ്പോൾ ഓഫാണ്.

പ്രോഗ്രാമിലേക്ക് ഒരു SIGUSR2 സിഗ്നൽ അയയ്‌ക്കുന്നതിലൂടെ നിങ്ങൾക്ക് ട്രേസ് ഔട്ട്‌പുട്ട് ഓൺ/ഓഫ് ടോഗിൾ ചെയ്യാം.

MONO_TRACE_LISTENER
സജ്ജമാക്കിയാൽ, System.Diagnostics.DefaultTraceListener പ്രവർത്തനക്ഷമമാക്കുന്നു, അത് പ്രിന്റ് ചെയ്യും
സിസ്റ്റത്തിന്റെ ഔട്ട്പുട്ട്. ഡയഗ്നോസ്റ്റിക്സ് ട്രേസ്, ഡീബഗ് ക്ലാസുകൾ. ഇത് എ ആയി സജ്ജീകരിക്കാം
ഫയലിന്റെ പേര്, കൂടാതെ Console.Out അല്ലെങ്കിൽ Console.Error ലേക്ക് ഔട്ട്പുട്ട് സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിലേക്ക് പ്രദർശിപ്പിക്കുന്നതിൽ പിശക്
അല്ലെങ്കിൽ സാധാരണ പിശക്, യഥാക്രമം. ഇത് Console.Out അല്ലെങ്കിൽ Console എന്നതിലേക്ക് സജ്ജമാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് പിശക്
ഇതുപോലുള്ള സന്ദേശങ്ങൾ എഴുതുമ്പോൾ ഉപയോഗിക്കുന്ന ഒരു ഓപ്‌ഷണൽ പ്രിഫിക്‌സ് ചേർക്കാൻ കഴിയും:
Console.Error:MyProgramName. System.Diagnostics.DefaultTraceListener കാണുക
കൂടുതൽ വിവരങ്ങൾക്ക് ഡോക്യുമെന്റേഷൻ.

MONO_WCF_TRACE
എല്ലാ ലോഗ് സന്ദേശങ്ങളും ഔട്ട്‌പുട്ട് ചെയ്യുന്നതിലൂടെ ഇത് WCF ഡയഗ്‌നോസ്റ്റിക്‌സ് പ്രവർത്തനക്ഷമത എളുപ്പമാക്കുന്നു
WCF എഞ്ചിൻ "stdout", "stderr" അല്ലെങ്കിൽ ഈ എൻവയോൺമെന്റ് വേരിയബിളിലേക്ക് കൈമാറിയ ഏതെങ്കിലും ഫയൽ.
ലോഗ് ഫോർമാറ്റ് സാധാരണ ഡയഗ്നോസ്റ്റിക് ഔട്ട്പുട്ട് പോലെയാണ്.

MONO_XEXCEPTIONS
X11 പിശക് നേരിടുമ്പോൾ ഇത് ഒരു ഒഴിവാക്കൽ നൽകുന്നു; സ്ഥിരസ്ഥിതിയായി ഒരു സന്ദേശം
പ്രദർശിപ്പിച്ചിരിക്കുന്നു, പക്ഷേ നിർവ്വഹണം തുടരുന്നു

MONO_XMLSERIALIZER_DEBUG
താൽക്കാലിക ഫയലുകൾ നീക്കം ചെയ്യുന്നതിൽ നിന്ന് സീരിയലൈസർ തടയുന്നതിന് ഈ മൂല്യം 1 ആയി സജ്ജമാക്കുക
വേഗത്തിലുള്ള സീരിയലൈസേഷനായി സൃഷ്ടിക്കപ്പെട്ടവ; ഡീബഗ്ഗ് ചെയ്യുമ്പോൾ ഇത് ഉപയോഗപ്രദമാകും.

MONO_XSYNC
X11 ഉപയോഗിച്ച് പ്രവർത്തിക്കുമ്പോൾ System.Windows.ഫോമുകൾ നടപ്പിലാക്കുന്നതിൽ ഇത് ഉപയോഗിക്കുന്നു
പിൻഭാഗം. ഇത് Windows.Forms-ലെ പ്രശ്നങ്ങൾ ഡീബഗ് ചെയ്യാൻ ഉപയോഗിക്കുന്നു
കമാൻഡുകൾ X11 സെർവറിലേക്ക് അയയ്‌ക്കുന്നത് സിൻക്രണസ് ആയി ചെയ്യണം. യുടെ ഡിഫോൾട്ട് മോഡ്
പ്രവർത്തനം അസമന്വിതമാണ്, ഇത് ചിലതിന്റെ റൂട്ട് വേർതിരിച്ചെടുക്കുന്നത് ബുദ്ധിമുട്ടാക്കുന്നു
പ്രശ്നങ്ങൾ.

MONO_GENERIC_SHARING
ഈ എൻവയോൺമെന്റ് വേരിയബിൾ ഉപയോഗിക്കുന്ന ജനറിക് ഷെയറിംഗിനെ നിയന്ത്രിക്കുന്നു. ഈ വേരിയബിൾ
ആന്തരിക JIT ഡെവലപ്പർമാർ ഉപയോഗിക്കുന്നു, ഉൽപ്പാദനത്തിൽ ഇത് മാറ്റാൻ പാടില്ല. ചെയ്യരുത്
ഉപയോഗികുക. ഏത് ക്ലാസുകൾക്കാണ് പൊതുവായ കോഡ് പങ്കിടൽ ഉണ്ടായിരിക്കേണ്ടതെന്ന് വേരിയബിൾ നിയന്ത്രിക്കുന്നു
പ്രവർത്തനക്ഷമമാക്കി. അനുവദനീയമായ മൂല്യങ്ങൾ ഇവയാണ്:

എല്ലാം സൃഷ്ടിച്ച എല്ലാ കോഡുകളും പങ്കിടാനാകും.

ശേഖരങ്ങൾ
System.Collections.Generic എന്നതിലെ ക്ലാസുകൾക്ക് മാത്രമേ അതിന്റെ കോഡ് പങ്കിടൂ
(ഇത് സ്ഥിരസ്ഥിതി മൂല്യമാണ്).

കോർലിബ് കോർലിബിലെ കോഡിന് മാത്രമേ അതിന്റെ കോഡ് പങ്കിടൂ.

ആരും പൊതുവായ കോഡ് പങ്കിടലൊന്നും നടത്തില്ല.
ഡിഫോൾട്ടായി ജനറിക് കോഡ് പങ്കിടൽ ശേഖരങ്ങൾക്ക് മാത്രമേ ബാധകമാകൂ. മോണോ JIT ഡിഫോൾട്ടായി
ഇത് ഓണാക്കുന്നു.

MONO_XDEBUG
MONO_XDEBUG env var സജ്ജമാക്കുമ്പോൾ, JITted കോഡിനായുള്ള ഡീബഗ്ഗിംഗ് വിവരങ്ങൾ പുറത്തുവിടുന്നു
ഒരു പങ്കിട്ട ലൈബ്രറിയിലേക്ക്, gdb-യിലേക്ക് ലോഡുചെയ്യാനാകും. ഉദാഹരണത്തിന്, മാനേജ് ചെയ്യുന്നത് കാണാൻ ഇത് പ്രാപ്തമാക്കുന്നു
gdb ബാക്ക്ട്രെയിസുകളിൽ ഫ്രെയിം നാമങ്ങൾ.

MONO_VERBOSE_METHOD
നിർദ്ദിഷ്‌ട രീതിക്കായി പരമാവധി JIT വെർബോസിറ്റി പ്രവർത്തനക്ഷമമാക്കുന്നു. ഇത് വളരെ സഹായകരമാണ്
ഒരു നിർദ്ദിഷ്ട രീതിയുടെ തെറ്റായ കംപൈലേഷൻ പ്രശ്നങ്ങൾ കണ്ടുപിടിക്കാൻ.

MONO_VERBOSE_HWCAP
സജ്ജീകരിച്ചാൽ, കണ്ടെത്തിയ CPU ഫീച്ചറുകളെക്കുറിച്ചുള്ള JIT ഔട്ട്‌പുട്ട് വിവരങ്ങൾ ഉണ്ടാക്കുന്നു (SSE പോലുള്ളവ,
CMOV, FCMOV മുതലായവ) stdout-ലേക്ക്.

MONO_CONSERVATIVE_HWCAP
സജ്ജമാക്കിയാൽ, ഹാർഡ്‌വെയർ ശേഷി കണ്ടെത്തലൊന്നും JIT നടത്തില്ല. ഇതായിരിക്കാം
JIT പ്രശ്‌നങ്ങളുടെ കാരണം കണ്ടെത്തുന്നതിന് ഉപയോഗപ്രദമാണ്. മോണോ നിർമ്മിക്കുമ്പോൾ ഇതാണ് സ്ഥിരസ്ഥിതി
ഒരു AOT ക്രോസ് കംപൈലർ എന്ന നിലയിൽ, ജനറേറ്റഡ് കോഡ് മിക്ക ഹാർഡ്‌വെയറുകളിലും പ്രവർത്തിക്കും.

വാൽഗ്രിൻഡ്


നിങ്ങൾക്ക് Valgrind ഉപയോഗിക്കാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് `mono.supp' എന്ന ഫയൽ ഉപയോഗപ്രദമാകും, അതിൽ അടങ്ങിയിരിക്കുന്നു
തെറ്റായ മുന്നറിയിപ്പുകൾ ട്രിഗർ ചെയ്യുന്ന GC-യ്‌ക്കുള്ള അടിച്ചമർത്തലുകൾ. ഇത് ഇതുപോലെ ഉപയോഗിക്കുക:
valgrind --suppressions=mono.supp mono ...

DTRACE


ചില പ്ലാറ്റ്‌ഫോമുകളിൽ, മോണോയ്ക്ക് ഒരു കൂട്ടം ഡിട്രേസ് പ്രോബുകൾ (യൂസർ-ലാൻഡ് എന്നും അറിയപ്പെടുന്നു.
സ്ഥിരമായി നിർവചിക്കപ്പെട്ടത്, USDT പ്രോബ്സ്).

അവ 'mono.d' എന്ന ഫയലിൽ നിർവചിച്ചിരിക്കുന്നു.

ves-init-begin, ves-init-end
റൺടൈം ഇനീഷ്യലൈസേഷന്റെ തുടക്കവും അവസാനവും.

രീതി-കംപൈൽ-ആരംഭിക്കുക, രീതി-കംപൈൽ-അവസാനം
രീതി സമാഹരണത്തിന്റെ തുടക്കവും അവസാനവും. ക്ലാസിന്റെ പേര്, രീതി എന്നിവയാണ് പ്രോബ് ആർഗ്യുമെന്റുകൾ
പേരും ഒപ്പും, കൂടാതെ മെത്തേഡ്-കംപൈൽ-എൻഡ് വിജയമോ പരാജയമോ ആണെങ്കിൽ
സമാഹാരം.

ജിസി-ആരംഭം, gc-end
മാലിന്യ ശേഖരണത്തിന്റെ തുടക്കവും അവസാനവും.

പ്രോബുകളുടെ ലഭ്യത പരിശോധിക്കാൻ, പ്രവർത്തിപ്പിക്കുക:
dtrace -P mono'$target' -l -c mono

അനുമതികൾ


നെറ്റ്‌വർക്ക് എത്തിച്ചേരാനാകുമെന്ന് കണ്ടെത്തുന്നതിനുള്ള മോണോയുടെ പിംഗ് നടപ്പിലാക്കുന്നതിന് ICMP പാക്കറ്റുകൾ സൃഷ്ടിക്കാൻ കഴിയും
ജോലി ചെയ്യാൻ സിസ്റ്റം പിംഗ് കമാൻഡ് ആവശ്യമില്ലാതെ തന്നെ. നിങ്ങൾക്ക് പ്രവർത്തനക്ഷമമാക്കണമെങ്കിൽ
ഇത് ലിനക്സിൽ റൂട്ട് അല്ലാത്ത ഉപയോക്താക്കൾക്കായി, നിങ്ങൾ മോണോ ബൈനറിക്ക് പ്രത്യേക അനുമതികൾ നൽകേണ്ടതുണ്ട്.

റൂട്ട് ആയി, ഈ കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:
# setcap cap_net_raw=+ep /usr/bin/mono

onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് മോണോ ഓൺലൈനായി ഉപയോഗിക്കുക



ഏറ്റവും പുതിയ ലിനക്സ്, വിൻഡോസ് ഓൺലൈൻ പ്രോഗ്രാമുകൾ