InglésFrancésEspañol

icono de página de OnWorks

mono - Online en la nube

Ejecute mono en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando mono que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


mono - Generador de código nativo ECMA-CLI de Mono (Just-in-Time y Ahead-of-Time)

SINOPSIS


mono [opciones] presentar [argumentos ...]

mono-sgen [opciones] presentar [argumentos ...]

DESCRIPCIÓN


mono es una implementación en tiempo de ejecución de ECMA Common Language Infrastructure. Esto puede ser
utilizado para ejecutar aplicaciones ECMA y .NET.

El tiempo de ejecución contiene un generador de código nativo que transforma el Common Intermediate
Lenguaje en código nativo.

El generador de código puede funcionar en dos modos: compilación justo a tiempo (JIT) o antes de
compilación de tiempo (AOT). Dado que el código se puede cargar dinámicamente, el entorno de ejecución y
los JIT siempre están presentes, incluso si el código se compila con anticipación.

El tiempo de ejecución carga el especificado presentar y opcionalmente pasa el argumentos lo. La presentar
es un montaje ECMA. Por lo general, tienen una extensión .exe o .dll.

El tiempo de ejecución proporciona una serie de opciones de configuración para ejecutar aplicaciones, para
desarrollar y depurar, y para probar y depurar el tiempo de ejecución en sí.

El mono El comando usa el recolector de basura conservador de Boehm mientras que el mono-sgen comando
Utiliza un recolector de basura en movimiento y generacional.

PORTABILIDAD


En los sistemas basados ​​en Unix, Mono proporciona un mecanismo para emular el acceso a archivos al estilo de Windows,
esto incluye proporcionar una vista del sistema de archivos que no distingue entre mayúsculas y minúsculas, separador de directorios
mapeo (de \ a /) y quitando las letras de unidad.

Esta funcionalidad se habilita configurando el MONO_IOMAP variable de entorno a uno de
todos, drive y .

Consulte la descripción de MONO_IOMAP en la sección de variables de entorno para obtener más detalles.

TIEMPO DE FUNCIONAMIENTO OPCIONES


Las siguientes opciones están disponibles:

--mucho, --aot [= opciones]
Esta opción se utiliza para precompilar el código CIL en el ensamblado especificado en nativo
código. El código generado se almacena en un archivo con la extensión .so. Este archivo
será recogido automáticamente por el tiempo de ejecución cuando se ejecute el ensamblaje.
La compilación Ahead-of-Time es más útil si la usa en combinación con la
-O = all, -shared flag que habilita todas las optimizaciones en el generador de código para
ser realizado. Algunas de esas optimizaciones no son prácticas para Just-in-Time
compilación, ya que pueden consumir mucho tiempo. A diferencia de .NET Framework,
La compilación anticipada no generará código independiente del dominio: genera
el mismo código que produciría el compilador Just-in-Time. Ya que la mayoría
las aplicaciones usan un solo dominio, esto está bien. Si desea optimizar el
código generado para su uso en aplicaciones multidominio, considere usar la opción -O = shared
bandera. Esto precompila los métodos, pero aún se requiere el ensamblado original
para ejecutar, ya que este contiene los metadatos y la información de excepción que no es
disponible en el archivo generado. Al precompilar código, es posible que desee compilar
con todas las optimizaciones (-O = todas). El código precompilado es un código independiente de la posición.
La compilación previa es solo un mecanismo para reducir el tiempo de inicio y aumentar el uso compartido de código
a través de múltiples procesos mono y evitar el inicio del programa de compilación justo a tiempo
costos. El ensamblado original aún debe estar presente, ya que los metadatos están contenidos
allí. El código AOT normalmente no se puede mover de una computadora a otra (CPU-
optimizaciones específicas que se detectan en tiempo de ejecución) por lo que no debe intentar mover
los ensamblajes pregenerados o empaquetar los ensamblajes pregenerados para
despliegue. Algunas opciones están disponibles como parámetro para --mucho de línea de comandos
opción. Las opciones están separadas por comas y se puede especificar más de una:

Autorregistro
El compilador AOT emitirá un inicializador de biblioteca (solo ELF) para
registre el módulo compilado aot con el tiempo de ejecución. Esto solo es útil en
modo estático

asonly
Indica al compilador AOT que genere código ensamblador en lugar de un objeto
archivo.

enlazar a la versión en tiempo de ejecución
Si se especifica, obliga a los archivos AOT generados a vincularse al tiempo de ejecución
versión de la compilación Mono. Esto evitará que los archivos AOT se
consumido por un tiempo de ejecución de Mono diferente. ser completados Este es actualmente un
característica experimental ya que no está completa. Esto instruye a Mono a
precompilar código que históricamente no ha sido precompilado con AOT.

directo-pinvoke
Cuando se especifica esta opción, los métodos P / Invoke se invocan directamente en su lugar
de pasar por la operación de búsqueda de símbolos del sistema operativo.

llvm-path =
Lo mismo para las herramientas llvm 'opt' y 'llc'.

mtriple =
Usa el triple objetivo al estilo GNU para determinar alguna generación de código
opciones, es decir, --mtriple = armv7-linux-gnueabi generará código que apunta
ARMv7. Actualmente, esto solo es compatible con el backend ARM. En modo LLVM,
este triple se pasa al compilador LLVM llc.

nimt-trampolines = [número]
Al compilar en modo aot completo, los trampolines IMT deben crearse previamente en
la imagen AOT. Puede agregar trampolines de método adicional con este
argumento. El valor predeterminado es 128.

no depurado
Indica al compilador AOT que no genere ninguna información de depuración.

no-llamadas-directas
Esto evita que el compilador AOT genere llamadas directas a un método.
El compilador AOT generalmente genera llamadas directas para ciertos métodos que no
no requieren pasar por el PLT (por ejemplo, métodos que se sabe que
no requiere un gancho como un constructor estático) o llamar a un simple interno
llamadas.

enano
Indica al compilador AOT que emita información de depuración DWARF. Cuando se utiliza
junto con la opción nodebug, solo se muestra la información de depuración DWARF
emitido, pero no la información que se puede utilizar en tiempo de ejecución.

nrgctx-trampolines = [número]
Al compilar en modo aot completo, los trampolines compartidos genéricos deben
creado previamente en la imagen AOT. Puede agregar trampolines de método adicional con
este argumento. El valor predeterminado es 1024.

ntrampolines = [número]
Al compilar en modo aot completo, el método trampolines debe ser creado previamente
en la imagen AOT. Puede agregar trampolines de método adicional con este
argumento. El valor predeterminado es 1024.

outfile = [nombre de archivo]
Indica al compilador AOT que guarde la salida en el archivo especificado.

métodos-de-impresión-omitidos
Si el compilador AOT no puede compilar un método por alguna razón, habilitando este
flag enviará los métodos omitidos a la consola.

readonly-value = espacio de nombres.nombre de tipo.nombre de campo = tipo / valor
Reemplazar el valor de un campo de solo lectura estático. Por lo general, durante JIT
compilación, el constructor estático se ejecuta con entusiasmo, por lo que el valor de un
El campo de solo lectura se conoce en tiempo de compilación y el compilador puede hacer un número
de optimizaciones basadas en él. Durante AOT, en cambio, el constructor estático
no se puede ejecutar, por lo que esta opción se puede utilizar para establecer el valor de dicho campo
y habilite el mismo conjunto de optimizaciones. El tipo puede ser cualquiera de i1, i2, i4 para
enteros de los respectivos tamaños (en bytes). Tenga en cuenta que firmado / no firmado
aquí no importan los números, solo el tamaño de almacenamiento. Esta opción puede ser
especificado varias veces y no evita que el constructor estático para
el tipo que define el campo a ejecutar con las reglas habituales en tiempo de ejecución
(de ahí que posiblemente se calcule un valor diferente para el campo).

save-temps, keep-temps
Indica al compilador AOT que mantenga archivos temporales.

depuración suave
Esto indica al compilador que genere comprobaciones de puntos de secuencia que permitan
Depurador suave de Mono para depurar aplicaciones incluso en sistemas donde no lo está
posible establecer puntos de interrupción o en un solo paso (cierto hardware
configuraciones como los teléfonos móviles y las consolas de videojuegos).

estático Cree un archivo de objeto ELF (.o) o un archivo .s que se pueda vincular estáticamente
en un ejecutable al incrustar el tiempo de ejecución mono. Cuando esta opción es
utilizado, el archivo de objeto debe registrarse con el tiempo de ejecución incrustado utilizando
la función mono_aot_register_module que toma como argumento el
mono_aot_module_ _info símbolo global del archivo de objeto:

extern void * mono_aot_module_hello_info;

mono_aot_register_module (mono_aot_module_hello_info);

estadísticas Imprima varias estadísticas recopiladas durante la compilación de AOT.

hilos = [número]
Esta es una opción experimental para que el compilador AOT use múltiples subprocesos
al compilar los métodos.

prefijo-herramienta =
Antepone al nombre de las herramientas ejecutadas por el compilador AOT, es decir
'como' / 'ld'. Por ejemplo, --tool = prefix = arm-linux-gnueabi- hará que el AOT
ejecución del compilador

escribir-simbolos
Indica al compilador AOT que emita información de símbolos de depuración.

Para obtener más información sobre AOT, consulte: http://www.mono-project.com/docs/advanced/aot/

--attach = [opciones]
Actualmente, la única opción admitida por este argumento de línea de comando es inhabilitar lo cual
desactiva la función adjuntar.

--config nombre de archivo
Cargue el archivo de configuración especificado en lugar de los predeterminados. El valor por defecto
los archivos son / etc / mono / config y ~ / .mono / config o el archivo especificado en el
Variable de entorno MONO_CONFIG, si está configurada. Ver el configuración mono(5) página de manual para
detalles sobre el formato de este archivo.

--debugger-agent = [opciones]
Esto indica al tiempo de ejecución de Mono que inicie un agente de depuración dentro del tiempo de ejecución de Mono.
y conectarlo a una interfaz de usuario del cliente controlará el proceso Mono. Esta
Los IDE suelen utilizar esta opción, como el IDE MonoDevelop.

La configuración se especifica mediante una o más de las siguientes opciones:

dirección = host: puerto
Utilice esta opción para especificar la dirección IP donde se encuentra su cliente depurador
escuchar.

loglevel = LEVEL
Especifica el nivel de registro de diagnóstico para

logfile = nombre de archivo
Se utiliza para especificar el archivo donde se almacenará el registro, por defecto es
salida estándar.

servidor = [y / n]
El valor predeterminado es no, con la opción predeterminada Mono se conectará activamente al
host / puerto configurado con el dirección opción. Si lo configura en 'y',
indica al tiempo de ejecución de Mono que comience a depurar en modo servidor, donde Mono
espera activamente a que el front-end del depurador se conecte al proceso Mono.
Mono imprimirá en formato estándar la dirección IP y el puerto donde está escuchando.

setpgid = [y / n]
Si se establece en sí, Mono llamará setpgid (0, 0) on puesta en marcha, if que función is
Hoy Disponibles on los . Este is eficiente for asegurando que que señales liberado
a a que is ejecución los depurar están no propagado a los
depuración por ejemplo: documentación que demuestre copropiedad de bienes, residencia compartida, recursos económicos combinados, declaraciones juradas de personas que lo conocen y que puedan dar fe de su relación y vida compartida, Decretos o certificados de adopción, Constancia de custodia legal de un niño adoptado durante un período de dos años when Ctrl-C envía SIGINT a los sdb .

suspender = [y / n]
El valor predeterminado es sí, con la opción predeterminada Mono suspenderá la máquina virtual en el inicio
hasta que se conecte con éxito a una interfaz de depuración. Si lo configura en
'n', junto con servidor = y, indica al tiempo de ejecución de Mono que se ejecute como
normal, mientras se almacenan en caché los metadatos para enviarlos al front-end del depurador en
conexión..

transporte = nombre_transporte
Esto se usa para especificar el transporte que usará el depurador para
comunicar. Debe especificarse y actualmente requiere que sea
'dt_socket'.

--escritorio
Configura la máquina virtual para que se adapte mejor a las aplicaciones de escritorio.
Actualmente, esto configura el sistema GC para evitar expandir el montón tanto como sea posible
a expensas de ralentizar un poco la recolección de basura.

--full-aot
Esta es una bandera experimental que indica al tiempo de ejecución de Mono que no genere ningún
código en tiempo de ejecución y dependen exclusivamente del código generado a partir del uso de mono
--aot = completo previamente. Esto es útil para plataformas que no permiten dinámicas
codigo de GENERACION. Tenga en cuenta que esta función cancelará la ejecución en tiempo de ejecución si
codepath en su programa, o las bibliotecas de clases de Mono intentan generar código
dinamicamente. Debe probar su software por adelantado y asegurarse de que no
utilice las funciones dinámicas.

--gc = boehm, --gc = sgen
Selecciona el motor del recolector de basura para que lo use Mono, Boehm o SGen. En la actualidad
esto simplemente asegura que está ejecutando el mono or mono-sgen comandos.
Esta bandera se puede colocar en el MONO_ENV_OPCIONES variable de entorno para forzar a todos
su hijo procesa para usar un tipo particular de GC con el tiempo de ejecución Mono.

--ayuda, -h
Muestra instrucciones de uso.

--llvm Si el tiempo de ejecución Mono se ha compilado con compatibilidad con LLVM (no disponible en todos
configuraciones), Mono utilizará la optimización LLVM y el motor de generación de código para
Compilación JIT o AOT. Para más información consultar: http://www.mono-
project.com/docs/advanced/mono-llvm/

--nollvm
Cuando se usa un Mono que ha sido compilado con soporte LLVM, obliga a Mono a
recurrir a su motor JIT y no utilizar el backend LLVM.

--optimize = MODO, -O = MODO
MODE es una lista de optimizaciones separada por comas. También permiten optimizaciones para
desactivarse anteponiendo el nombre de la optimización con un signo menos. En general,
Mono se ha ajustado para usar el conjunto predeterminado de indicadores, antes de usar estos indicadores para un
configuración de implementación, es posible que desee medir realmente los beneficios de usarlos.
Los siguientes indicadores de optimización se implementan en el motor central:
abcrem Array eliminación de cheques encuadernados
todos Activar todas las optimizaciones
aot Uso del código compilado de Ahead Of Time
sucursal Optimizaciones de sucursales
cfold Plegado constante
Movimientos condicionales cmov [arch-dependencia]
deadce Eliminación de código muerto
consprop Propagación constante
copyprop Copiar propagación
Comparación de fcmov Fast x86 FP [arch-dependencia]
float32 Realizar aritmética flotante de 32 bits utilizando operaciones de 32 bits
gshared Habilita el uso compartido de código genérico.
llamadas al método en línea en línea
intrínsecos Implementaciones de métodos intrínsecos
lineares Asignación de registros globales de exploración lineal
optimizaciones de los procedimientos de hoja
bucle Optimizaciones relacionadas con el bucle
mirilla mirilla postpass
precomp Compile todos los métodos antes de ejecutar Main
Programación de instrucciones programadas
código compartido de emisión por dominio
sse2 SSE2 instrucciones en x86 [arch-dependency]
tailc Tail recursión y llamadas de cola
Por ejemplo, para habilitar toda la optimización, excepto la eliminación e inserción de código muerto,
puedes usar:
-O = todos, -deadce, -inline
Las banderas que están marcadas con [arch-dependency] indican que la opción dada si
usado en combinación con la compilación Ahead of Time (bandera --aot) produciría
código compilado que dependerá de la CPU actual y es posible que no se mueva de manera segura a
otra computadora.

Se admiten las siguientes optimizaciones

flotador32
Solicita que el tiempo de ejecución realice operaciones de coma flotante de 32 bits utilizando
solo 32 bits. De forma predeterminada, el tiempo de ejecución Mono intenta utilizar el mayor
precisión disponible para operaciones de punto flotante, pero si bien esto podría
obtener mejores resultados, el código podría ejecutarse más lento. Estas opciones también
afecta el código generado por el backend LLVM.

en línea Controla si el tiempo de ejecución debe intentar integrarse (el valor predeterminado) o no
invocaciones de métodos en línea

--runtime = VERSION
Mono admite diferentes versiones de tiempo de ejecución. La versión utilizada depende del programa
que se está ejecutando o en su archivo de configuración (llamado program.exe.config). Esta
La opción se puede usar para anular dicha detección automática, forzando un tiempo de ejecución diferente
versión a utilizar. Tenga en cuenta que esto solo debe usarse para seleccionar un compatible posterior
versión en tiempo de ejecución que con la que se compiló el programa. Un uso típico es
para ejecutar un programa 1.1 en una versión 2.0:
mono --runtime = v2.0.50727 program.exe

--seguridad, --security = modo
Active el administrador de seguridad, una función actualmente experimental en Mono y es
APAGADO por defecto. El nuevo verificador de código también se puede habilitar con esta opción.

Usar seguridad sin parámetros es equivalente a llamarlo con "cas"
parámetro.

Se admiten los siguientes modos:

núcleo-clr
Habilita el sistema de seguridad core-clr, normalmente utilizado para
Aplicaciones Moonlight / Silverlight. Proporciona una seguridad mucho más sencilla
sistema que CAS, consulte http://www.mono-project.com/docs/web/moonlight/ for
más detalles y enlaces a las descripciones de este nuevo sistema.

válido
Habilita el nuevo verificador y realiza una verificación básica para la validez del código.
En este modo, se permiten códigos inseguros y P / Invoke. Este modo proporciona una
mejor garantía de seguridad, pero aún es posible que el código administrado se bloquee
Mono.

verificable
Habilita el nuevo verificador y realiza una verificación completa del código que se está
ejecutado. Solo permite ejecutar código verificable. El código inseguro es
no permitido, pero P / Invoke sí. Este modo no debe permitir que el código administrado
crash mono. La verificación no es tan estricta como la norma ECMA 335 para
para seguir siendo compatible con el tiempo de ejecución de MS.

El sistema de seguridad actúa sobre el código de usuario: código contenido en mscorlib o global
La caché de ensamblados siempre es de confianza.

--servidor
Configura la máquina virtual para que se adapte mejor a las operaciones del servidor
(actualmente, permite una inicialización de grupo de subprocesos más pesada).

--verificar-todo
Verifica mscorlib y ensamblados en la caché de ensamblados global para IL válido, y todos
código de usuario para la verificabilidad de IL.

Esto es diferente de --seguridades verificable o válido en el sentido de que estas opciones
solo verifique el código de usuario y omita mscorlib y los ensamblados ubicados en el global
caché de ensamblado.

-V, --versión
Imprime la información de la versión JIT (configuración del sistema, número de versión y rama
nombres si están disponibles).

DESARROLLO OPCIONES


Las siguientes opciones se utilizan para ayudar al desarrollar una aplicación JITed.

--depurar, --debug = OPCIONES
Activa el modo de depuración en el tiempo de ejecución. Si un ensamblado se compiló con
información de depuración, producirá información de número de línea para seguimientos de pila.

El argumento OPTIONS opcional es una lista separada por comas de opciones de depuración.
Estas opciones están desactivadas de forma predeterminada ya que generan mucho más grande y más lento
código en tiempo de ejecución.

Se admiten las siguientes opciones:

arroja Produce un error detallado al lanzar una InvalidCastException. Esta
La opción debe estar habilitada ya que genera un código más detallado en la ejecución.
en las transacciones.

optimizaciones-mdb
Deshabilite algunas optimizaciones JIT que generalmente solo se deshabilitan cuando se ejecutan
dentro del depurador. Esto puede resultar útil si desea adjuntar
proceso en ejecución con mdb.

gdb Genere y registre información de depuración con gdb. Esto solo es compatible
en algunas plataformas, y solo cuando se usa gdb 7.0 o posterior.

--profile [= profiler [: profiler_args]]
Activa la creación de perfiles. Para obtener más información sobre la creación de perfiles de aplicaciones y código
cobertura consulte las secciones "PERFILES" y "COBERTURA DE CÓDIGOS" a continuación.

Esta opción se puede utilizar varias veces, cada vez se cargará un
perfilador adicional. Esto permite a los desarrolladores utilizar módulos que amplían el JIT
a través de la interfaz de creación de perfiles Mono.

--trace [= expresión]
Muestra los nombres de los métodos a medida que se invocan. De forma predeterminada, se rastrean todos los métodos. los
trace se puede personalizar para incluir o excluir métodos, clases o ensamblajes. A
La expresión de rastreo es una lista de objetivos separados por comas, cada objetivo puede tener un prefijo
con un signo menos para apagar un objetivo en particular. Las palabras "programa", "todos" y
"discapacitado" tiene un significado especial. "programa" se refiere al programa principal que se
ejecutado, y `all 'significa todas las llamadas a métodos. La opción "deshabilitado" se utiliza para
comience con el rastreo deshabilitado. Puede habilitarse en un momento posterior en el
programa enviando la señal SIGUSR2 al tiempo de ejecución. Los ensamblajes están especificados por
su nombre, por ejemplo, para rastrear todas las llamadas en el ensamblado del sistema, use:

mono --trace = System app.exe

Las clases se especifican con el prefijo T :. Por ejemplo, para rastrear todas las llamadas al
Clase System.String, use:

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

Y los métodos individuales se referencian con el prefijo M: y el método estándar
notación:

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

También se pueden rastrear excepciones, esto hará que se imprima un rastreo de pila cada vez
se lanza una excepción del tipo especificado. El tipo de excepción se puede especificar
con o sin el espacio de nombres, y para rastrear todas las excepciones, especifique 'todas' como el
escribe un nombre.

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

Como se señaló anteriormente, se pueden especificar varias reglas a la vez:

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

Puede excluir piezas, el siguiente ejemplo rastrea las llamadas a System.String excepto para
el método System.String: Concat.

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

Puede rastrear transiciones administradas a no administradas utilizando el calificador de envoltura:

mono --trace = envoltorio app.exe

Finalmente, los espacios de nombres se pueden especificar usando el prefijo N::

mono --traza = N: System.Xml

--no-x86-pila-alinear
No alinee los marcos de pila en la arquitectura x86. De forma predeterminada, Mono alinea la pila
fotogramas a 16 bytes en x86, de modo que las variables de punto flotante local y SIMD puedan ser
correctamente alineado. Esta opción desactiva la alineación, que generalmente guarda una
intrucción por llamada, pero puede resultar en un punto flotante significativamente más bajo y
Rendimiento SIMD.

--jitmapa
Genere un mapa de método JIT en un archivo /tmp/perf-PID.map. A continuación, este archivo se utiliza para
ejemplo, por la herramienta perf incluida en los kernels recientes de Linux. Cada línea del archivo
tiene:

HEXADDR HEXSIZE nombre del método

Actualmente, esta opción solo es compatible con Linux.

JIT MANTENEDOR OPCIONES


Las opciones del mantenedor solo las utilizan aquellos que desarrollan el tiempo de ejecución en sí, y no
suele ser de interés para los usuarios o desarrolladores en tiempo de ejecución.

--rotura Método
Inserta un punto de interrupción antes del método cuyo nombre es "método"
(espacio de nombres.clase: nombre del método). Utilice 'Main' como nombre del método para insertar un punto de interrupción en
el método principal de la aplicación. Puede usarlo también con genéricos, por ejemplo
"System.Collections.Generic.Queue`1: Peek"

--breakonex
Inserta un punto de interrupción en las excepciones. Esto le permite depurar su aplicación con
un depurador nativo cuando se lanza una excepción.

--compilar nombre
Esto compila un método (namespace.name:methodname), esto se usa para probar el
rendimiento del compilador o para examinar la salida del generador de código.

--compilar todo
Compila todos los métodos en un ensamblado. Esto se usa para probar el compilador
rendimiento o para examinar la salida del generador de código

--graph = TYPE MÉTODO
Esto genera un archivo postscript con un gráfico con los detalles sobre el especificado
método (namespace.name:methodname). Esto requiere que `dot 'y ghostview sean
instalado (espera que Ghostview se llame "gv"). Los siguientes gráficos son
tamaños:
cfg Gráfico de flujo de control (CFG)
dtree árbol dominador
código CFG que muestra el código
ssa CFG que muestra el código después de la traducción SSA
optcode CFG que muestra el código después de las optimizaciones de IR
Algunos gráficos solo estarán disponibles si se activan determinadas optimizaciones.

--compilar
Indique al tiempo de ejecución la cantidad de veces que el método especificado por --compile
(o todos los métodos si se usa --compileall) para ser compilado. Esto se usa para
probar el rendimiento del generador de código.

- estadísticas
Muestra información sobre el trabajo realizado por el tiempo de ejecución durante la ejecución de un
.

--wapi = hps | semdel
Realizar el mantenimiento del proceso de datos compartidos. semdel eliminará el global
semáforo. hps enumerará los identificadores utilizados actualmente.

-v, --verboso
Aumenta el nivel de verbosidad, cada vez que aparece en la lista, aumenta la verbosidad
nivel para incluir más información (incluido, por ejemplo, un desmontaje del
código nativo producido, información del selector de código, etc.).

ATTACH APOYAR


El tiempo de ejecución Mono permite que los procesos externos se conecten a un proceso en ejecución y carguen
ensambla en el programa en ejecución. Para adjuntar al proceso, un protocolo especial es
implementado en el ensamblado Mono.Management.

Con este soporte es posible cargar conjuntos que tienen un punto de entrada (son
creado con -target: exe o -target: winexe) para ser cargado y ejecutado en el proceso Mono.

El código se carga en el dominio raíz y comienza la ejecución en el tiempo de ejecución especial.
adjuntar hilo. El programa adjunto debe crear sus propios hilos y volver después
invocación.

Este soporte permite, por ejemplo, depurar aplicaciones haciendo que el shell csharp se adjunte
a los procesos en ejecución.

PERFILANDO


El tiempo de ejecución mono incluye un generador de perfiles que se puede utilizar para explorar varios
problemas relacionados en su aplicación. El generador de perfiles se activa pasando el --profile
argumento de línea de comando para el tiempo de ejecución Mono, el formato es:

--profile [= profiler [: profiler_args]]

Mono tiene un generador de perfiles incorporado llamado 'predeterminado' (y también es el predeterminado si no hay argumentos
especificado), pero los desarrolladores pueden escribir perfiladores personalizados, consulte la sección "PERFILADORES PERSONALIZADOS"
para obtener más información.

Si perfilador no se especifica, se utiliza el generador de perfiles predeterminado. los perfil_args es un
Cadena de opciones específicas del generador de perfiles para el generador de perfiles en sí. El generador de perfiles predeterminado acepta
las siguientes opciones 'asignar' para perfilar el consumo de memoria por parte de la aplicación; 'hora de
perfile el tiempo dedicado a cada rutina; 'jit' para recopilar el tiempo empleado en los métodos de compilación JIT
y 'stat' para realizar un perfil estadístico de muestra. Si no se proporcionan opciones,
el valor predeterminado es 'alloc, time, jit'.

De forma predeterminada, los datos del perfil se imprimen en stdout: para cambiar esto, use el 'archivo = nombre de archivo'
opción para enviar los datos al nombre de archivo. Por ejemplo:

mono --perfil program.exe

Eso ejecutará el programa con el generador de perfiles predeterminado y hará el tiempo y la asignación
perfilado.

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

Hará un perfil estadístico de muestra y un perfil de asignación en program.exe. El perfil
los datos se ponen en prof.out. Tenga en cuenta que el generador de perfiles estadístico tiene una sobrecarga muy baja y
debe ser el perfilador preferido para usar (para una mejor salida, use la ruta completa al mono
binario cuando se ejecuta y asegúrese de haber instalado la utilidad addr2line que proviene de
el paquete binutils).

LOG PERFILADOR


Este es el generador de perfiles más avanzado.

El mono log El generador de perfiles se puede utilizar para recopilar mucha información sobre un programa en ejecución.
en el tiempo de ejecución de Mono. Estos datos se pueden utilizar (tanto mientras el proceso se está ejecutando como posteriormente)
para realizar análisis del comportamiento del programa, determinar el uso de recursos, problemas de rendimiento o
incluso busque patrones de ejecución particulares.

Esto se logra registrando los eventos proporcionados por el tiempo de ejecución Mono a través del
interfaz de creación de perfiles y escribirlos periódicamente en un archivo que luego se puede inspeccionar
con el informe-mprof(1) herramienta.

Más información sobre cómo usar el generador de perfiles de registro está disponible en el informe-mprof(1)
.

PERSONALIZADO PERFILADORES


Mono proporciona un mecanismo para cargar otros módulos de creación de perfiles que, en forma de
Bibliotecas. Estos módulos de creación de perfiles se pueden conectar a varias partes del tiempo de ejecución Mono para
recopilar información sobre el código que se está ejecutando.

Para usar un generador de perfiles de terceros, debe pasar el nombre del generador de perfiles a Mono, así:

mono --profile = programa personalizado.exe

En el ejemplo anterior, Mono cargará el generador de perfiles definido por el usuario desde la biblioteca compartida
`mono-profiler-custom.so '. Este módulo de generador de perfiles debe estar en su biblioteca de enlaces dinámicos
camino.

Una lista de otros perfiladores de terceros está disponible en el sitio web de Mono (www.mono-
project.com/docs/advanced/performance-tips/)

Los perfiles personalizados se escriben como bibliotecas compartidas. La biblioteca compartida debe llamarse `mono-
profiler-NAME.so 'donde' NAME 'es el nombre de su generador de perfiles.

Para obtener una muestra de cómo escribir su propio perfil personalizado, busque en el árbol de fuentes Mono para en
las muestras / profiler.c.

CÓDIGO COBERTURA


Mono se envía con un módulo de cobertura de código. Este módulo se activa usando el Mono
--profile = opción cov. El formato es: --profile = cov [: nombre-ensamblado [/ espacio de nombres]] prueba-
suite.exe

Por defecto, la cobertura del código será predeterminada para todos los ensamblajes cargados, puede limitar esto por
especificando el nombre del ensamblado, por ejemplo, para realizar la cobertura del código en las rutinas de su
el uso del programa, por ejemplo, la siguiente línea de comando limita la cobertura del código a las rutinas
en el montaje "demo":

mono --perfil = cov: demo demo.exe

Observe que el nombre-ensamblado no incluye la extensión.

Puede restringir aún más la salida de cobertura de código especificando un espacio de nombres:

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

Que solo realizará la cobertura de código en el ensamblado y el espacio de nombres dados.

La salida típica se ve así:

No cubierto: Clase: .ctor ()
No cubierto: Clase: A ()
No cubierto: Driver: .ctor ()
No cubierto: Controlador: método ()
Cobertura parcial: Conductor: Principal ()
desplazamiento 0x000a

Las compensaciones que se muestran son compensaciones IL.

Una herramienta de cobertura más poderosa está disponible en el módulo 'monocov'. Ver el monocovita(1)
página de manual para obtener más detalles.

DEPURACIÓN SIDA


Para depurar aplicaciones administradas, puede usar el mdb comando, un depurador de línea de comandos.

Es posible obtener un seguimiento de la pila de todos los subprocesos activos en Mono enviando el
SALIR de la señal a Mono, puede hacer esto desde la línea de comando, así:

matar -QUIT pid

Donde pid es el ID de proceso del proceso Mono que desea examinar. El proceso
continuará ejecutándose después, pero su estado no está garantizado.

Importante: Este es un mecanismo de último recurso para depurar aplicaciones y no debe ser
utilizado para monitorear o probar una aplicación de producción. La integridad del tiempo de ejecución después
El envío de esta señal no está garantizado y la aplicación podría fallar o terminar en cualquier momento.
punto dado después.

El --debug = lanzamientos La opción se puede utilizar para obtener información más detallada sobre el reparto no válido.
operaciones, proporcionará información sobre los tipos involucrados.

Puede utilizar las variables de entorno MONO_LOG_LEVEL y MONO_LOG_MASK para obtener información detallada
depuración de salida sobre la ejecución de su aplicación dentro de Mono.

El MONO_LOG_LEVEL variable de entorno si se establece, el nivel de registro se cambia al conjunto
valor. Los valores posibles son "error", "crítico", "advertencia", "mensaje", "información", "depuración". los
el valor predeterminado es "error". Mensajes con un nivel de registro superior o igual al registro
El nivel se imprimirá en stdout / stderr.

Utilice "información" para realizar un seguimiento de la carga dinámica de ensamblajes.

Ingrese al MONO_LOG_MASK variable de entorno para limitar la extensión de los mensajes que recibe: Si
establecido, la máscara de registro se cambia al valor establecido. Los valores posibles son "asm" (ensamblaje
cargador), "tipo", "dll" (cargador de biblioteca nativo), "gc" (recolector de basura), "cfg" (config
cargador de archivos), "aot" (precompilador), "seguridad" (por ejemplo, soporte Moonlight CoreCLR) y "todos".
El valor predeterminado es "todos". Cambiar el valor de la máscara le permite mostrar solo mensajes
para un determinado componente. Puede utilizar varias máscaras separándolas con comas. Por ejemplo
para ver los mensajes del archivo de configuración y los mensajes del cargador de ensamblado, establezca la máscara en "asm, cfg".

El siguiente es un uso común para rastrear problemas con P / Invoke:

$ MONO_LOG_LEVEL = "depurar" MONO_LOG_MASK = "dll" mono glue.exe

DEPURACIÓN HE TRABAJADO LDB


Si está utilizando LLDB, puede utilizar el mono.py script para imprimir algunos datos internos
estructuras con él. Para usar esto, agregue esto a su $ INICIO / .lldbinit archivo:
importación de script de comando $ PREFIX / lib / mono / lldb / mono.py

Donde $ PREFIX es el valor de prefijo que usó cuando configuró Mono (normalmente / usr).

Una vez hecho esto, puede inspeccionar algunas estructuras de datos de Mono Runtime, por ejemplo:
(lldb) método p

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

PUBLICACIÓN POR ENTREGAS


El motor de serialización XML de Mono utilizará de forma predeterminada un enfoque basado en la reflexión para
serializar que puede ser lento para el procesamiento continuo (aplicaciones de servicios web). los
El motor de serialización determinará cuándo una clase debe usar un serializador ajustado a mano basado en
algunos parámetros y, si es necesario, producirá un serializador C # personalizado para sus tipos
en tiempo de ejecución. Este serializador personalizado luego se carga dinámicamente en su
.

Puede controlar esto con la variable de entorno MONO_XMLSERIALIZER_THS.

Los valores posibles son 'no' para deshabilitar el uso de un serializador personalizado de C #, o un
entero que es el número mínimo de usos antes de que el tiempo de ejecución produzca un
serializador (0 producirá un serializador personalizado en el primer acceso, 50 producirá un serializador
serializador en el uso 50). Mono recurrirá a un serializador interpretado si el
la generación del serializador falla de alguna manera. Este comportamiento se puede desactivar configurando la opción
"nofallback" (por ejemplo: MONO_XMLSERIALIZER_THS = 0, nofallback).

MEDIO AMBIENTE VARIABLES


GC_DONT_GC
Desactiva la recolección de basura en Mono. Esto solo debe usarse para depurar
fines

LVM_COUNT
Cuando Mono se compila con soporte LLVM, esto indica al tiempo de ejecución que deje de usar
LLVM después de que el número especificado de métodos sea JIT. Esta es una herramienta utilizada en
diagnósticos para ayudar a aislar problemas en el backend de generación de código. Por ejemplo
LLVM_COUNT = 10 solo compilaría 10 métodos con LLVM y luego cambiaría al Mono
Motor JIT. LLVM_COUNT = 0 deshabilitaría el motor LLVM por completo.

MONO_AOT_CACHE
Si se establece, esta variable le indicará a Mono que compile con anticipación nuevos ensamblados en
demandar y almacenar el resultado en un caché en ~ / .mono / aot-cache.

MONO_ASPNET_INHIBIT_SETTINGSMAP
Mono contiene una función que permite modificar la configuración en los archivos .config
enviado con Mono mediante el uso de mapeadores de sección de configuración. Los cartógrafos y el mapeo
las reglas se definen en el archivo $ prefix / etc / mono / 2.0 / settings.map y, opcionalmente, en
el archivo settings.map que se encuentra en el directorio de nivel superior de su aplicación ASP.NET.
System.Web lee ambos archivos al iniciar la aplicación, si se encuentran en el
por encima de las ubicaciones. Si no desea que se realice el mapeo, puede configurar esto
variable en su entorno antes de iniciar la aplicación y no se realizará ninguna acción
tomado.

MONO_ASPNET_WEBCONFIG_CACHESIZE
Mono tiene un caché de objetos ConfigSection para acelerar WebConfigurationManager
consultas. Su tamaño predeterminado es de 100 elementos y, cuando se necesitan más elementos,
Empiezan a ocurrir los desalojos. Si los desalojos son demasiado frecuentes, esto podría imponer
sobrecarga innecesaria, que podría evitarse mediante el uso de esta variable de entorno para
configurar un tamaño de caché más alto (o reducir los requisitos de memoria disminuyéndolo).

MONO_CAIRO_DEBUG_DISPOSE
Si se establece, hace que Mono.Cairo recopile seguimientos de pila cuando se asignan objetos, por lo que
que las advertencias de finalización / eliminación incluyen información sobre la instancia
origen.

MONO_CFG_DIR
Si se establece, esta variable anula el directorio de configuración del sistema predeterminado
($ PREFIJO / etc). Se utiliza para localizar el archivo machine.config.

MONO_COM
Establece el estilo de interoperabilidad COM. Si el valor de esta variable es "MS", Mono usará
cadenas de rutinas de marhsalling de liboleaut32 para la biblioteca de tipos BSTR, cualquier
otros valores utilizarán la clasificación de cadenas BSTR mono-integrada.

MONO_CONFIG
Si se establece, esta variable anula el archivo de configuración de tiempo de ejecución predeterminado
($ PREFIJO / etc / mono / config). Las opciones de la línea de comando --config anulan las
Variable ambiental.

MONO_CPU_ARCH
Anule el mecanismo de detección automática de la CPU. Actualmente se usa solo en el brazo. los
El formato del valor es el siguiente:

"armvV [pulgar [2]]"

donde V es el número de arquitectura 4, 5, 6, 7 y las opciones pueden ser actualmente
"pulgar" o "pulgar2". Ejemplo:

MONO_CPU_ARCH = "armv4 thumb" mono ...

MONO_ARM_FORCE_SOFT_FLOAT
Cuando Mono se construye con un respaldo de flotación suave en ARM y esta variable se establece en
"1", Mono siempre emitirá un código flotante suave, incluso si se detecta una unidad VFP.

MONO_DISABLE_AIO
Si está configurado, le dice a mono que NO intente usar servicios de E / S asíncronos nativos. En eso
En este caso, se utiliza una implementación de selección / encuesta predeterminada. Actualmente solo epoll () es
soportado.

MONO_DISABLE_MANAGED_COLLATION
Si esta variable de entorno es "sí", el tiempo de ejecución utiliza una intercalación no administrada (que
en realidad significa que no hay una intercalación sensible a la cultura). Deshabilita internamente gestionado
funcionalidad de intercalación invocada a través de los miembros de System.Globalization.CompareInfo
clase. La intercalación está habilitada de forma predeterminada.

MONO_DISABLE_SHM
Solo Unix: si se establece, deshabilita los archivos de memoria compartida utilizados para identificadores de procesos cruzados:
El proceso solo tiene identificadores privados. Esto significa que los identificadores de proceso e hilo son
no disponible para otros procesos, y mutex con nombre, eventos con nombre y con nombre
los semáforos no son visibles entre procesos. Esto también se puede habilitar mediante
predeterminado al pasar la opción "--disable-shared-handle" para configurar. Este es el
predeterminado de mono 2.8 en adelante.

MONO_DISABLE_SHARED_AREA
Solo Unix: si está configurado, deshabilite el uso de la memoria compartida para exponer el rendimiento
contadores. Esto significa que no será posible leer externamente el rendimiento
contadores de estos procesos o leer los de procesos externos.

MONO_DNS
Cuando se establece, habilita el uso de un solucionador de DNS completamente administrado en lugar del normal
funciones libc. Este solucionador funciona mucho mejor cuando se ejecutan varias consultas en
paralela.

Tenga en cuenta que /etc/nsswitch.conf será ignorado

MONO_EGD_SOCKET
Para plataformas que de otra manera no tienen una forma de obtener bytes aleatorios, esto puede
establecerse en el nombre de un socket del sistema de archivos en el que se encuentra un demonio egd o prngd
escuchando.

MONO_ENABLE_SHM
Solo Unix: habilite la compatibilidad con identificadores de procesos cruzados. Las manijas de proceso cruzado son
utilizado para exponer identificadores de procesos, identificadores de subprocesos, exclusiones mutuas con nombre, eventos con nombre y
semáforos con nombre en los procesos Unix.

MONO_ENV_OPCIONES
Esta variable de entorno le permite pasar argumentos de línea de comando a un Mono
proceso a través del medio ambiente. Esto es útil, por ejemplo, para forzar todos sus
Procesos mono para utilizar LLVM o SGEN sin tener que modificar ningún script de inicio.

MONO_ENV_OPCIONES
Se utiliza para pasar opciones adicionales al agente depurador en el tiempo de ejecución, como estaban
pasado usando --debugger-agent =.

MONO_EVENTLOG_TYPE
Establece el tipo de proveedor de registro de eventos que se utilizará (para System.Diagnostics.EventLog).
Los valores posibles son:

local [: ruta]
Conserva los registros de eventos y las entradas en el sistema de archivos local. El directorio en
para conservar los registros de eventos, las fuentes de eventos y las entradas se pueden especificar
como parte del valor. Si la ruta no se establece explícitamente, por defecto es
"/ var / lib / mono / eventlog" en Unix y "% APPDATA% no \ ventlog" en Windows.

win32 Usos los nativo win32 API a escribir eventos y registros evento los registros y evento
fuentes en el registro. Esto solo está disponible en Windows. En Unix, el
permiso de directorio para el registro de eventos individual y los directorios de origen de eventos
está configurado en 777 (con + t bit), lo que permite a todos leer y escribir el registro de eventos
entradas mientras que solo permite que las entradas sean eliminadas por el (los) usuario (s) que
los creó.

nulo Descarta silenciosamente cualquier evento.

El valor predeterminado es "nulo" en Unix (y versiones de Windows anteriores a NT) y "win32" en
Windows NT (y superior).

CODIFICACIONES_MONO_EXTERNAS
Si se establece, contiene una lista de codificaciones de texto separadas por dos puntos para probar al girar
texto generado externamente (por ejemplo, argumentos de línea de comandos o nombres de archivo) en Unicode.
Los nombres de codificación provienen de la lista proporcionada por iconv, y el caso especial
"default_locale" que se refiere a la codificación predeterminada de la configuración regional actual.

Al leer cadenas de texto generadas externamente, se intenta primero con UTF-8, y luego esto
La lista se prueba en orden con la primera conversión exitosa que finaliza la búsqueda.
Al escribir texto externo (por ejemplo, nuevos nombres de archivo o argumentos para nuevos procesos),
Se utiliza el primer elemento de esta lista, o UTF-8 si la variable de entorno no está configurada.

El problema con el uso de MONO_EXTERNAL_ENCODINGS para procesar sus archivos es que
da como resultado un problema: aunque es posible obtener el nombre de archivo correcto, no
necesariamente posible para abrir el archivo. En general, si tiene problemas con
codificaciones en sus nombres de archivo debe utilizar el programa "convmv".

MONO_GC_PARAMS
Cuando se usa Mono con el recolector de basura SGen, esta variable controla varios
parámetros del colector. El valor de la variable es una lista separada por comas de
palabras.

tamaño de vivero =tamaño
Establece el tamaño del vivero. El tamaño se especifica en bytes y debe ser un
poder de dos. Los sufijos `k ',` m' y `g 'se pueden utilizar para especificar kilo-,
mega y gigabytes, respectivamente. El vivero es la primera generación (de
dos). Un vivero más grande generalmente acelerará el programa, pero obviamente
use más memoria. El tamaño de vivero predeterminado 4 MB.

mayor =coleccionista Especifica qué recopilador principal utilizar.
Las opciones son 'marksweep' para el colector Mark & ​​Sweep y 'marksweep-conc'
para Mark & ​​Sweep simultáneos. El recopilador Mark & ​​Sweep no concurrente es el
predeterminada.

límite-de-pila-suave =tamaño
Una vez que el tamaño del montón sea mayor que este tamaño, ignore cuál es el valor principal predeterminado
La métrica de activación de la colección dice y solo permite cuatro tamaños de vivero de los principales
crecimiento del montón entre colecciones principales.

umbral de evacuación =umbral
Establece el umbral de evacuación en porcentaje. Esta opción solo está disponible en
los principales coleccionistas de Mark & ​​Sweep. El valor debe ser un número entero en el rango
0 a 100. El valor predeterminado es 66. Si la fase de barrido de la colección encuentra
que la ocupación de un tipo de bloque de pila específico es menor que esto
porcentaje, hará una colección de copias para ese tipo de bloque en el próximo
colección importante, restaurando así la ocupación a cerca del 100 por ciento. A
el valor de 0 desactiva la evacuación.

(no) barrido perezoso
Habilita o deshabilita el barrido diferido para el colector Mark & ​​Sweep. Si está habilitado,
el barrido de los principales bloques de pila individuales se realiza por partes siempre que el
surge la necesidad, por lo general durante las colecciones de los viveros. El barrido lento está habilitado
por defecto

(no-) barrido concurrente
Habilita o deshabilita el barrido concurrente para el colector Mark & ​​Sweep. Si
habilitado, la iteración de todos los bloques principales para determinar cuáles pueden ser
liberados y cuáles deben ser mantenidos y barridos, se hace al mismo tiempo que
el programa en ejecución. El barrido concurrente está habilitado de forma predeterminada.

pila-marca =modo de marca
Especifica cómo se deben analizar los subprocesos de la aplicación. Las opciones son "precisas"
y "conservador". El marcado preciso permite al coleccionista saber qué valores
en la pila hay referencias y lo que no. Amenazas de marcado conservador todos
valores como referencias potenciales y dejarlos intactos. Marcado preciso
reduce la basura flotante y puede acelerar la recolección y asignación del vivero
tasa, tiene la desventaja de requerir una memoria adicional significativa por
método compilado. La opción correcta, desafortunadamente, requiere experimentación.

proporción-objetivo-guardado =proporción
Especifica la tasa de ahorro de destino para el recolector principal. El coleccionista deja
una determinada cantidad de memoria que se promoverá desde la guardería debido a problemas menores
colecciones antes de que active una colección importante. Esta cantidad se basa en
cuánta memoria espera liberar. Se representa como una proporción del tamaño.
del montón después de una colección importante. Los valores válidos están entre 0.1 y 2.0.
El valor predeterminado es 0.5. Los valores más pequeños mantendrán el tamaño del montón principal más pequeño
pero desencadenará colecciones más importantes. Del mismo modo, los valores más grandes usarán
más memoria y resultan en colecciones importantes menos frecuentes. Esta opcion es
EXPERIMENTAL, por lo que podría desaparecer en versiones posteriores de mono.

ratio de asignación por defecto =proporción
Especifica la asignación de asignación predeterminada cuando el tamaño calculado es demasiado
pequeña. La asignación de asignación es la cantidad de memoria que el recolector dejó ser
promocionado antes desencadenó una gran colección. Es una proporción del vivero
Talla. Los valores válidos están entre 1.0 y 10.0. El valor predeterminado es 4.0. Menor
los valores conducen a montones más pequeños y colecciones importantes más frecuentes. Igualmente,
valores más grandes permitirán que el montón crezca más rápido pero usarán más memoria cuando
alcanza un tamaño estable. Esta opción es EXPERIMENTAL, por lo que podría desaparecer.
en versiones posteriores de mono.

menor =coleccionista menor
Especifica qué recopilador menor utilizar. Las opciones son 'simples' lo que promueve
todos los objetos de la guardería directamente a la generación anterior y 'dividir'
lo que permite que el objeto permanezca más tiempo en el vivero antes de promocionarlo.

proporción de asignación =proporción
Especifica la proporción de memoria de la guardería que utilizará el espacio de asignación.
Esto solo se puede usar con el colector menor dividido. Los valores válidos son
enteros entre 1 y 100. El valor predeterminado es 60.

promoción-edad =edad
Especifica la edad requerida de un objeto que debe alcanzar dentro del vivero antes
ascendido a la vieja generación. Esto solo se puede utilizar con el
coleccionista menor split. Los valores válidos son números enteros entre 1 y 14. Predeterminado
es 2.

(no-) cementación
Habilita o deshabilita la cementación. Esto puede acortar drásticamente el vivero.
tiempos de recopilación en algunos puntos de referencia donde se hace referencia a los objetos anclados
del montón principal.

MONO_GC_DEBUG
Cuando se usa Mono con el recolector de basura SGen, esta variable de entorno puede ser
se utiliza para activar varias funciones de depuración del recopilador. El valor de esto
variable es una lista de palabras separadas por comas. No utilice estas opciones en
producción.

número Establece el nivel de depuración en el número especificado.

subsidio de impresión
Después de cada colección principal, se imprime el consumo de memoria para antes y después
la recaudación y la asignación para el coleccionista menor, es decir, cuánto el
se permite que el montón crezca a partir de colecciones menores antes de la siguiente mayor
se activa la recopilación.

impresión-pinning
Recopila estadísticas sobre las clases cuyos objetos están anclados en la guardería.
y para los cuales se agregan entradas remset globales. Imprime esas estadísticas cuando
Apagando.

recopilar antes de asignaciones

comprobar-en-colecciones-menores
Esto realiza una verificación de coherencia en colecciones menores y también borra la
vivero en el momento de la recopilación, en lugar del predeterminado, cuando los búferes están
asignado (clear-at-gc). La verificación de consistencia asegura que no haya
referencias mayores a menores que no se encuentran en los conjuntos recordados.

mod-union-control-de-consistencia
Comprueba que la mesa de cartas mod-union sea coherente antes de cada acabado.
pausa de recopilación importante. Esta verificación solo se aplica a las principales
coleccionistas.

bits de marca de verificación
Las comprobaciones que marcan bits en el montón principal son consistentes al final de cada
colección importante. Los bits de marca consistentes significan que si un objeto está marcado,
todos los objetos a los que tenía referencias también deben estar marcados.

cheque-guardería-clavado
Después de las colecciones de vivero y antes de comenzar las colecciones simultáneas, verifique
si todos los objetos de la guardería están anclados o no, dependiendo de
contexto. No hace nada cuando se utiliza el colector de vivero dividido.

xdomain-comprobaciones
Realiza una comprobación para asegurarse de que no queden referencias a un descargado
Dominio de la aplicación.

claro-en-tlab-creación
Borra el vivero de forma incremental cuando los búferes de asignación local de subprocesos
(TLAB) se crean. La configuración predeterminada borra todo el vivero en GC
en las transacciones.

depurar-claro-en-tlab-creación
Borra el vivero de forma incremental cuando los búferes de asignación local de subprocesos
(TLAB), pero en el momento de GC se llena con el byte `0xff`, que
debería resultar en un bloqueo más rápido si `clear-at-tlab-creation` no
funcione correctamente.

claro en gc
Esto borra el vivero en el momento de GC en lugar de hacerlo cuando el hilo local
Se crea el búfer de asignación (TLAB). El valor predeterminado es borrar el vivero en
Hora de creación de TLAB.

inhabilitar-menor
No hagas colecciones menores. Si el vivero está lleno, una colección importante es
se activa en su lugar, a menos que también esté desactivado.

inhabilitar-mayor
No hagas grandes colecciones.

marca-de-pila-conservadora
Obliga al GC a escanear la pila de forma conservadora, incluso si se realiza un escaneo preciso.
para todos.

no-asignador-administrado
Deshabilita el asignador administrado.

comprobar-escanear-comienza
Si está configurado, ¿realiza una verificación de plausibilidad en el scan_starts antes y después de cada
--

verificar-vivero-en-menor-gc
Si está configurado, ¿hace un recorrido completo por el objeto del vivero al comienzo de cada
colección menor.

vertedero-vivero-en-menor-gc
Si se establece, vierte el contenido del vivero al comienzo de cada menor.
colección. Requiere que se configure verify-nursery-at-minor-gc.

heap-dump =presentar
Vuelca el contenido del montón en el archivo especificado. Para visualizar el
información, utilice la herramienta mono-heapviz.

protocolo-binario =presentar
Envía la salida de depuración al archivo especificado. Para que esto funcione, Mono
debe compilarse con la definición BINARY_PROTOCOL en sgen-gc.c. Usted puede
luego use este comando para explorar la salida
sgen-grep-binprot 0x1234 0x5678 <archivo

canarios de vivero
Si se establece, los objetos asignados en el vivero tienen el sufijo canario (guardia)
palabra, que se comprueba en cada colección menor. Puede usarse para detectar / depurar
problemas de corrupción del montón.

no finalizar
Si está habilitado, los finalizadores no se ejecutarán. Todo lo demás no se verá afectado:
Los objetos finalizables todavía se colocarán en la cola de finalización donde
sobrevivir hasta que estén programados para finalizar. Una vez que no están en la cola
ya que se recogerán con regularidad.

finalizadores de registro
Registre detalladamente el proceso de finalización para ayudar a la depuración.

MONO_GAC_PREFIX
Proporciona un prefijo que usa el tiempo de ejecución para buscar cachés de ensamblados globales. Directorios
están separados por el separador de ruta de la plataforma (dos puntos en Unix). MONO_GAC_PREFIX
debe apuntar al directorio superior de una instalación con prefijo. O al directorio
proporcionado en el comando gacutil / gacdir. Ejemplo:
/home/usuario/.mono:/usr/local/mono/

MONO_IOMAP
Habilita algún soporte de reescritura de nombres de archivos para ayudar a las aplicaciones mal escritas que
rutas de Windows de código rígido. Establecer en una lista de "unidad" separada por dos puntos para eliminar la unidad
letras, o "mayúsculas y minúsculas" para hacer una coincidencia de archivos que no distinga entre mayúsculas y minúsculas en cada directorio de una
sendero. "todos" habilita todos los métodos de reescritura. (Las barras invertidas siempre se asignan a
barras diagonales si esta variable se establece en una opción válida).
Por ejemplo, esto funcionaría desde el shell:

MONO_IOMAP = unidad: caso
exportar MONO_IOMAP

Si está utilizando mod_mono para alojar sus aplicaciones web, puede utilizar el MonoIOMAP
directiva en su lugar, así:

MonoIOMAP todos

See mod_mono(8) para más detalles.

Adicionalmente. Mono incluye un módulo perfilador que permite rastrear lo que
ajustes a las rutas de archivo que debe realizar el código IOMAP. El código de seguimiento informa el
ubicación administrada (seguimiento de pila completa) desde la que se realizó la llamada IOMAP-ed y, en
salida del proceso, las ubicaciones donde se crearon todas las cadenas editadas por IOMAP en
código. Este último informe es solo aproximado, ya que no siempre es posible
Estime la ubicación real donde se creó la cadena. El código usa simple
heurística: analiza el seguimiento de la pila que conduce a la ubicación de asignación de la cadena
e ignora todo el código administrado que vive en ensamblados instalados en GAC también
como en las bibliotecas de clases enviadas con Mono (ya que se supone que están libres de
cuestiones de distinción entre mayúsculas y minúsculas). Luego informa la primera ubicación en el código del usuario:
en la mayoría de los casos, este será el lugar donde se asigna la cadena o muy cerca de
La locación. El código de informe se implementa como un módulo de perfilador personalizado (consulte
la sección "PERFILACIÓN") y se puede cargar de la siguiente manera:

mono --perfil = iomap su aplicación.exe

Sin embargo, tenga en cuenta que Mono actualmente solo admite un módulo de perfil a la vez.

MONO_LLVM
Cuando Mono usa el backend de generación de código LLVM, puede usar este entorno
variable para pasar las opciones de generación de código al compilador LLVM.

MONO_MANAGED_WATCHER
Si se establece en "deshabilitado", System.IO.FileSystemWatcher utilizará un observador de archivos
implementación que ignora silenciosamente todas las solicitudes de observación. Si se establece en cualquier
otro valor, System.IO.FileSystemWatcher utilizará el valor administrado predeterminado
implementación (lenta). Si no está configurado, mono intentará usar inotify, FAM, Gamin, kevent
en sistemas Unix y llamadas a API nativas en Windows, recurriendo al sistema administrado
implementación en caso de error.

MONO_MESSAGING_PROVIDER
Mono admite un modelo de complemento para su implementación de System.
posible admitir una variedad de implementaciones de mensajería (por ejemplo, AMQP, ActiveMQ).
Para especificar qué implementación de mensajería se utilizará, la variable evironement
debe configurarse con el nombre completo de la clase del proveedor. Por ejemplo, para usar RabbitMQ
implementación de AMQP basada en la variable debe establecerse en:

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

MONO_NO_SMP
Si se establece hace que el proceso mono se vincule a un solo procesador. Esto podría ser
útil al depurar o trabajar en condiciones de carrera.

MONO_NO_TLS
Deshabilite la inserción de accesos locales de subprocesos. Intente configurar esto si obtiene un error de segmento
al principio de la ejecución de mono.

MONO_RUTA
Proporciona una ruta de búsqueda al tiempo de ejecución donde buscar la biblioteca.
archivos. Esta es una herramienta conveniente para depurar aplicaciones, pero
no debe ser utilizado por aplicaciones implementadas ya que rompe el ensamblaje
cargador de formas sutiles.
Los directorios están separados por el separador de ruta de la plataforma (dos puntos en Unix). Ejemplo:
/ inicio / nombre de usuario / lib: / usr / local / mono / lib
Las rutas relativas se resuelven en función del directorio actual en el momento del lanzamiento.
Las soluciones alternativas a MONO_PATH incluyen: instalar bibliotecas en
la caché de ensamblados global (ver gacutil(1)) o tener al dependiente
bibliotecas al lado del ejecutable principal.
Para obtener una descripción completa de las prácticas recomendadas para la aplicación
despliegue, ver
http://www.mono-project.com/docs/getting-started/application-deployment/

MONO_RTC
Soporte experimental de RTC en el generador de perfiles estadístico: si el usuario ha
el permiso, se recopilan estadísticas más precisas. El MONO_RTC
El valor debe estar restringido a lo que permite Linux rtc: potencia de dos
de 64 a 8192 Hz. Para habilitar frecuencias más altas como 4096 Hz, ejecute como root:

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

Por ejemplo:

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

MONO_SHARED_DIR
Si se establece, es el directorio donde se almacena el estado del identificador ".wapi". Este es el
directorio donde la capa de emulación de E / S de Windows almacena sus datos de estado compartidos
(archivos, eventos, mutex, tuberías). De forma predeterminada, Mono almacenará el directorio ".wapi"
en el directorio de inicio de los usuarios.

MONO_SHARED_NOMBRE DEL HOST
Utiliza el valor de cadena de esta variable como reemplazo del nombre de host cuando
creando nombres de archivos en el directorio ".wapi". Esto ayuda si el nombre de host de su
Es probable que la máquina cambie cuando se está ejecutando una aplicación mono o si tiene una
Directorio .wapi compartido entre varias computadoras diferentes. Mono normalmente usa el
nombre de host para crear los archivos que se utilizan para compartir el estado en varios Mono
Procesos. Esto se hace para admitir directorios de inicio que pueden compartirse a través de
red.

MONO_ESTRICTO_IO_EMULACIÓN
Si se establece, se realizan comprobaciones adicionales durante las operaciones de E / S. Actualmente, esto incluye solo
bloqueos de aviso en torno a las escrituras de archivos.

MONO_TEMA
El nombre del tema que utilizará Windows.Forms. Los temas disponibles hoy incluyen
"clearlooks", "agradable" y "win32". El valor predeterminado es "win32".

MONO_TLS_SESSION_CACHE_TIMEOUT
El tiempo, en segundos, que la caché de sesión SSL / TLS mantendrá su entrada para evitar
una nueva negociación entre el cliente y un servidor. La negociación es muy CPU
intensivo, por lo que un valor personalizado específico de la aplicación puede resultar útil para
sistemas embebidos. El valor predeterminado es 180 segundos.

MONO_HILOS_POR_CPU
El número mínimo de subprocesos en el grupo de subprocesos general será
MONO_THREADS_PER_CPU * número de CPU. El valor predeterminado para esta variable es 1.

MONO_XMLSERIALIZER_THS
Controla el umbral para que XmlSerializer produzca un serializador personalizado para un
clase dada en lugar de usar el intérprete basado en Reflection. Los posibles valores
son "no" para deshabilitar el uso de un serializador personalizado o un número para indicar cuándo
XmlSerializer debería comenzar a serializarse. El valor predeterminado es 50, lo que significa que
El serializador personalizado se producirá en el 50º uso.

MONO_X509_REVOCATION_MODE
Establece el modo de revocación utilizado al validar una cadena de certificados X509 (https,
ftps, smtps ...). El valor predeterminado es 'nocheck', que no realiza ninguna comprobación de revocación en
todos. Los otros valores posibles son 'fuera de línea', que realiza la verificación de CRL (no
implementado todavía) y 'en línea' que utiliza OCSP y CRL para verificar la revocación
estado (aún no implementado).

MEDIO AMBIENTE VARIABLES PARA DEPURACIÓN


MONO_ASPNET_NODELETE
Si se establece en cualquier valor, los archivos fuente temporales generados por las clases de soporte de ASP.NET
no se eliminará. Se guardarán en el directorio temporal del usuario.

MONO_DEBUG
Si se establece, habilita algunas características del tiempo de ejecución útiles para la depuración. Esta variable
debe contener una lista separada por comas de opciones de depuración. Actualmente, el
Se admiten las siguientes opciones:

break-on-no verificado
Si se establece esta variable, cuando Mono VM se encuentra con un problema de verificación,
en lugar de lanzar una excepción, entrará en el depurador. Este es
útil al depurar problemas del verificador

arroja Esta opción se puede utilizar para obtener información más detallada de InvalidCast
excepciones, proporcionará información sobre los tipos involucrados.

recopilar-página-estadísticas-de-fallas
Recopila información sobre errores de página. Esto se usa internamente para rastrear
el número de errores de página producidos para cargar metadatos. Para mostrar esto
información debe usar esta opción con la opción de línea de comando "--stats".

dominios-dont-free
Esta es una optimización para aplicaciones de dominios de aplicaciones múltiples (más comúnmente
Aplicaciones ASP.NET). Debido a limitaciones internas Mono, Mono por defecto
no utiliza asignaciones escritas en aplicaciones de dominio de aplicaciones múltiples, ya que podrían
pérdida de memoria cuando se descarga un dominio. Aunque este es un buen valor predeterminado, para
aplicaciones que utilizan más que en AppDomain en gran medida (por ejemplo, ASP.NET
aplicaciones) vale la pena cambiar las pequeñas fugas por el aumento
rendimiento (además, dado que las aplicaciones ASP.NET probablemente no vayan
para descargar los dominios de la aplicación en los sistemas de producción, vale la pena usar
Esta característica).

invocar tiempo de ejecución dyn
Indica al tiempo de ejecución que intente utilizar un contenedor de invocación de tiempo de ejecución genérico en su lugar
de crear una envoltura de invocación.

gdb Equivalente a configurar el MONO_XDEBUG variable, esto emite símbolos en una
biblioteca compartida ya que el código es JIT que se puede cargar en GDB para inspeccionar
símbolos.

puntos-gen-seq
Genera automáticamente puntos de secuencia donde la pila IL está vacía. Estas
son lugares donde el depurador puede establecer un punto de interrupción.

comprobaciones-nulas-explícitas
Hace que el JIT genere una verificación NULL explícita en las desreferencias de variables
en lugar de depender del sistema operativo para levantar un SIGSEGV u otro
forma de evento de captura cuando se accede a una ubicación de memoria no válida.

manija-sigint
Captura la señal de interrupción (Control-C) y muestra un seguimiento de pila cuando
presionado. Útil para averiguar dónde se está ejecutando el programa en un determinado
punto. Esto solo muestra el seguimiento de la pila de un único hilo.

pilas de inicio
Indica al tiempo de ejecución que inicialice la pila con algunos valores conocidos (0x2a
en x86-64) al comienzo de un método para ayudar a depurar el motor JIT.

mantener-delegados
Esta opción filtrará trampolines delegados a los que ya no se hace referencia como
para presentar al usuario más información sobre el uso indebido de un delegado.
Básicamente, se puede crear una instancia delegada, pasarla a un código no administrado,
y no se guardan referencias en el código administrado, lo que recolectará el código como basura.
Con esta opción es posible rastrear el origen de los problemas.

revertir-pinvoke-excepciones
Esta opción hará que mono se interrumpa con un mensaje descriptivo cuando durante
desenrollado de pila después de una excepción alcanza un marco de pila nativo. Esta
ocurre cuando un delegado administrado se pasa al código nativo, y el
delegado lanza una excepción. Normalmente, Mono intentará desenrollar la pila para
el primer controlador de excepciones (administrado) y omitirá cualquier pila nativa
fotogramas en el proceso. Esto conduce a un comportamiento indefinido (ya que mono no
saber cómo procesar marcos nativos), fugas y posiblemente también fallas.

no-gdb-retroceso
Esta opción deshabilitará el backtrace de GDB emitido por el tiempo de ejecución después de un
SIGSEGV o SIGABRT en código no administrado.

suspender en sigsegv
Esta opción suspenderá el programa cuando se reciba un SIGSEGV nativo.
Esto es útil para depurar bloqueos que no ocurren en gdb, ya que un
El proceso en vivo contiene más información que un archivo principal.

comprobar-pinvoke-callconv
Esta opción hace que el tiempo de ejecución compruebe si hay discrepancias en la convención de llamadas.
cuando se usa pinvoke, es decir, mezclando cdecl / stdcall. Solo funciona en Windows. Si
se detecta una discrepancia, se lanza una ExecutionEngineException.

MONO_LOG_LEVEL
El nivel de registro, los valores posibles son "error", "crítico", "advertencia", "mensaje",
`info 'y` debug'. Consulte la sección DEPURACIÓN para obtener más detalles.

MONO_LOG_MASK
Controla el dominio del tiempo de ejecución Mono al que se aplicará el registro. Si está configurado, el
la máscara de registro se cambia al valor establecido. Los valores posibles son "asm" (cargador de ensamblaje),
"type", "dll" (cargador de biblioteca nativo), "gc" (recolector de basura), "cfg" (archivo de configuración
loader), "aot" (precompilador), "seguridad" (por ejemplo, soporte Moonlight CoreCLR) y
"todos". El valor predeterminado es "todos". Cambiar el valor de la máscara le permite mostrar
solo mensajes para un determinado componente. Puede usar varias máscaras por coma
separándolos. Por ejemplo, para ver los mensajes del archivo de configuración y el cargador de ensamblaje
los mensajes le ponen la máscara a "asm, cfg".

MONO_TRACE
Se utiliza para el seguimiento en tiempo de ejecución de las llamadas a métodos. El formato de la traza separada por comas
opciones es:

[-] M: nombre del método
[-] N: espacio de nombres
[-] T: nombre de la clase
[-]todos
[-]programa
deshabilitado Salida de seguimiento apagada al inicio.

Puede activar / desactivar la salida de seguimiento enviando una señal SIGUSR2 al programa.

MONO_TRACE_LISTENER
Si se establece, habilita System.Diagnostics.DefaultTraceListener, que imprimirá el
salida de las clases System.Diagnostics Trace y Debug. Se puede configurar a
nombre de archivo, y Console.Out o Console.Error para mostrar la salida a la salida estándar
o error estándar, respectivamente. Si está configurado en Console.Out o Console.Error,
puede agregar un prefijo opcional que se usará al escribir mensajes como este:
Console.Error: MyProgramName. Consulte System.Diagnostics.DefaultTraceListener
documentación para obtener más información.

MONO_WCF_TRACE
Esto facilita la funcionalidad de diagnóstico de WCF simplemente emite todos los mensajes de registro de
Motor WCF a "stdout", "stderr" o cualquier archivo pasado a esta variable de entorno.
El formato de registro es el mismo que el de la salida de diagnóstico habitual.

MONO_XEXCEPCIONES
Esto genera una excepción cuando se encuentra un error X11; por defecto, un mensaje es
mostrado pero la ejecución continúa

MONO_XMLSERIALIZER_DEBUG
Establezca este valor en 1 para evitar que el serializador elimine los archivos temporales
que se crean para una rápida serialización; Esto puede resultar útil al depurar.

MONO_XSYNC
Esto se usa en la implementación de System.Windows.Forms cuando se ejecuta con el X11
backend. Esto se usa para depurar problemas en Windows.Forms, ya que obliga a todos los
los comandos se envían al servidor X11 para que se realicen de forma sincrónica. El modo predeterminado de
La operación es asincrónica, lo que dificulta aislar la raíz de ciertos
auténticos.

MONO_GENÉRICO_COMPARTIR
Esta variable de entorno controla el tipo de uso compartido genérico utilizado. Esta variable
es utilizado por desarrolladores JIT internos y no debe cambiarse en producción. No
úselo. La variable controla qué clases tendrán código compartido genérico.
activado. Los valores permitidos son:

all Todo el código generado se puede compartir.

colecciones
Solo las clases en System.Collections.Generic tendrán su código compartido
(Este es el valor predeterminado).

corlib Solo el código en corlib tendrá su código compartido.

ninguna No se realizará ningún intercambio de código genérico.
El uso compartido de código genérico de forma predeterminada solo se aplica a las colecciones. El Mono JIT por defecto
enciende esto.

MONO_XDEBUG
Cuando se establece la var env MONO_XDEBUG, se emite información de depuración para el código JIT
en una biblioteca compartida, cargable en gdb. Esto permite, por ejemplo, ver administrado
nombres de cuadros en backtraces gdb.

MONO_VERBOSE_METHOD
Habilita la máxima verbosidad JIT para el método especificado. Esto es muy útil
para diagnosticar problemas de compilación incorrecta de un método específico.

MONO_VERBOSE_HWCAP
Si se establece, hace que la información de salida JIT sobre las características de la CPU detectadas (como SSE,
CMOV, FCMOV, etc.) a la salida estándar.

MONO_CONSERVATIVO_HWCAP
Si se establece, el JIT no realizará ninguna detección de capacidad de hardware. Esto podría ser
útil para identificar la causa de los problemas de JIT. Este es el valor predeterminado cuando se construye Mono
como un compilador cruzado AOT, de modo que el código generado se ejecutará en la mayoría del hardware.

VALGRIND


Si desea utilizar Valgrind, encontrará útil el archivo `mono.supp ', que contiene la
supresiones para el GC que desencadenan advertencias incorrectas. Úselo así:
valgrind --suppressions = mono.supp mono ...

DTRACE


En algunas plataformas, Mono puede exponer un conjunto de sondas de DTrace (también conocidas como user-land
Sondas USDT definidas estáticamente).

Están definidos en el archivo 'mono.d'.

ves-init-comienzo, ves-init-fin
Inicio y finalización de la inicialización del tiempo de ejecución.

método-compilar-comenzar, método-compilación-fin
Inicio y finalización de la compilación del método. Los argumentos de la sonda son el nombre de la clase, el método
nombre y firma, y ​​en caso de éxito o fracaso del final de la compilación del método
Compilacion.

gc-comienza, gc-fin
Inicio y finalización de la recolección de basura.

Para verificar la disponibilidad de las sondas, ejecute:
dtrace -P mono '$ objetivo' -l -c mono

Los permisos


La implementación de Ping de Mono para detectar la accesibilidad de la red puede crear los paquetes ICMP
en sí mismo sin requerir el comando ping del sistema para hacer el trabajo. Si quieres habilitar
esto en Linux para usuarios no root, debe otorgar permisos especiales al binario Mono.

Como root, ejecute este comando:
# setcap cap_net_raw = + ep / usr / bin / mono

Utilice mono en línea utilizando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    Compilador pascal gratis
    Compilador pascal gratis
    Un compilador Pascal de 32/64/16 bits para
    Win32/64/CE, Linux, Mac OS X/iOS,
    Android, FreeBSD, OS/2, Gameboy
    Avance, Nintendo NDS y DOS;
    semánticamente compatible con...
    Descargar Compilador Pascal Gratis
  • 2
    Información sobre Canon EOS DIGITAL
    Información sobre Canon EOS DIGITAL
    Canon no tiene contador de obturadores
    incluido en la información EXIF ​​de un
    archivo de imagen, a diferencia de Nikon y
    Pentax. No hay ningún canon oficial basado
    solicitud ...
    Descargar Canon EOS DIGITAL Información
  • 3
    REFIENDO
    REFIENDO
    rEFInd es una bifurcación de la bota rEFIt
    gerente. Como rEFIt, rEFInd puede
    detectar automáticamente su arranque EFI instalado
    cargadores y presenta una bonita GUI
    menú de opción de arranque ...
    Descargar reencontrar
  • 4
    ExpressLuke GSI
    ExpressLuke GSI
    Esta página de descarga de SourceForge fue para
    otorgar a los usuarios descargar mi fuente construida
    GSI, basado en el gran phhusson
    trabaja. Construyo Android Pie y
    Android 1 ...
    Descargar ExpressLuke GSI
  • 5
    Lanzador de música
    Lanzador de música
    Music Caster es un reproductor de música de bandeja
    que te permite transmitir tu música local a un
    Dispositivo Google Cast. En la primera carrera
    tendrá que hacer clic en la flecha en su
    tas ...
    Descargar Music Caster
  • 6
    PyQt
    PyQt
    PyQt son los enlaces de Python para
    Qt multiplataforma de Digia
    marco de desarrollo de aplicaciones. Eso
    admite Python v2 y v3 y Qt v4 y
    Qt v5. PyQt está disponible...
    Descargar PyQt
  • Más "

Comandos de Linux

Ad