SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
ASAN
Un debugger de memoria en tu compilador
Albert Astals Cid
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
¿Quien es Albert Astals Cid?
 Ingeniero en Informática por la UPC
 Traductor en KDE desde 2002
 Programador en KDE desde 2003
 Mantenedor de KPDF/Okular desde 2004
 Miembro de KDE eV desde 2005, actualmente en la Junta Directiva
 Miembro fundador de KDE España, ex-presidente
 NO SOY UN EXPERTO EN ASAN
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
¿Que es ASAN?
AddressSanitizer (aka ASAN) is a memory error detector for C/C++.
It finds:
 Use after free (dangling pointer dereference)
 Heap buffer overflow
 Stack buffer overflow
 Global buffer overflow
 Use after return
 Initialization order bugs
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
¿Que es ASAN? (II)
This tool is very fast. The average slowdown of the instrumented
program is ~2x.
The tool works on x86 Linux and Mac, and ARM Android.
It supports gcc (>=4.8) and clang (>=3.1) (clang support is better)
It's a Google project
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
¿Como uso ASAN?
-fsanitize=address -g -fno-omit-frame-pointer
¡Fácil! Vámonos a casa :D
¡Esperad!
Tengo ejemplos
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
Uso despues de free
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
¡Pero eso es
una mierda!
¡Haberlo
dicho antes!
Tenemos que exportar un par de variables de entorno:
export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.4
export ASAN_OPTIONS=symbolize=1
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
Acceso fuera del heap
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
Acceso fuera de la pila
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
Acceso fuera de globales
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
Uso en librerias
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
Valores sin inicializar
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
¿Y valgrind?
 Valgrind/memcheck es una herramienta muy util
 Es leeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeento :(
 No necesita recompilación :)
 Continua despues del primer error :)
 Encuentra memory leaks :)
 Encuentra memoria sin inicializar :) (MSAN no me funciona)
 No encuentra accesos fuera de pila/globales :(
Pero que te
ha hecho el
dragón!?!?!
Sebastian Kügler <sebas@kde.org>, FrOSCon 2006
Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org>
ASAN
¿Preguntas?

Más contenido relacionado

Destacado

3rd list ramjas college
3rd list ramjas college3rd list ramjas college
3rd list ramjas collegeCareerCo
 
【Interop tokyo 2014】 “FlexPod” Cisco ACI とUCS Director により 実現される自動化 クラウド基盤
【Interop tokyo 2014】 “FlexPod” Cisco ACI とUCS Director により 実現される自動化 クラウド基盤【Interop tokyo 2014】 “FlexPod” Cisco ACI とUCS Director により 実現される自動化 クラウド基盤
【Interop tokyo 2014】 “FlexPod” Cisco ACI とUCS Director により 実現される自動化 クラウド基盤シスコシステムズ合同会社
 
162 cosas acerca de ashley tisdale
162 cosas acerca de ashley tisdale162 cosas acerca de ashley tisdale
162 cosas acerca de ashley tisdalezanhey
 
Presentación2
Presentación2Presentación2
Presentación2salvarmon1
 
Intimus carnaval salvador 2012 sh
Intimus carnaval salvador 2012 shIntimus carnaval salvador 2012 sh
Intimus carnaval salvador 2012 shpaulobcsn
 
Apresentação Inês Soares ESRI
Apresentação Inês Soares ESRIApresentação Inês Soares ESRI
Apresentação Inês Soares ESRIGuitts Isel
 
O dedo corredor - AC Camargo - Colunistas
O dedo corredor - AC Camargo - ColunistasO dedo corredor - AC Camargo - Colunistas
O dedo corredor - AC Camargo - Colunistasaimprensa
 
Sofrel LS-Flow : Distrettualizzazione delle reti idriche e telelettura delle ...
Sofrel LS-Flow : Distrettualizzazione delle reti idriche e telelettura delle ...Sofrel LS-Flow : Distrettualizzazione delle reti idriche e telelettura delle ...
Sofrel LS-Flow : Distrettualizzazione delle reti idriche e telelettura delle ...LACROIX Sofrel Srl
 
Sombreros para mujeres alejandra monica silvera1
Sombreros para mujeres alejandra monica silvera1Sombreros para mujeres alejandra monica silvera1
Sombreros para mujeres alejandra monica silvera1LorenaSalazar11
 
La limpieza facial. alejandra monica silvera
La limpieza facial. alejandra monica silveraLa limpieza facial. alejandra monica silvera
La limpieza facial. alejandra monica silveraLorenaSalazar11
 

Destacado (16)

3rd list ramjas college
3rd list ramjas college3rd list ramjas college
3rd list ramjas college
 
【Interop tokyo 2014】 “FlexPod” Cisco ACI とUCS Director により 実現される自動化 クラウド基盤
【Interop tokyo 2014】 “FlexPod” Cisco ACI とUCS Director により 実現される自動化 クラウド基盤【Interop tokyo 2014】 “FlexPod” Cisco ACI とUCS Director により 実現される自動化 クラウド基盤
【Interop tokyo 2014】 “FlexPod” Cisco ACI とUCS Director により 実現される自動化 クラウド基盤
 
162 cosas acerca de ashley tisdale
162 cosas acerca de ashley tisdale162 cosas acerca de ashley tisdale
162 cosas acerca de ashley tisdale
 
Presentación2
Presentación2Presentación2
Presentación2
 
Cuarderno reclamaciones consumo ADICAE
Cuarderno reclamaciones consumo ADICAECuarderno reclamaciones consumo ADICAE
Cuarderno reclamaciones consumo ADICAE
 
Bali holiday 2014
Bali holiday 2014Bali holiday 2014
Bali holiday 2014
 
Toxoplasma de godii
Toxoplasma de godiiToxoplasma de godii
Toxoplasma de godii
 
Presentación Estrategias de marca
Presentación Estrategias de marcaPresentación Estrategias de marca
Presentación Estrategias de marca
 
Pronouns table
Pronouns tablePronouns table
Pronouns table
 
Intimus carnaval salvador 2012 sh
Intimus carnaval salvador 2012 shIntimus carnaval salvador 2012 sh
Intimus carnaval salvador 2012 sh
 
Apresentação Inês Soares ESRI
Apresentação Inês Soares ESRIApresentação Inês Soares ESRI
Apresentação Inês Soares ESRI
 
O dedo corredor - AC Camargo - Colunistas
O dedo corredor - AC Camargo - ColunistasO dedo corredor - AC Camargo - Colunistas
O dedo corredor - AC Camargo - Colunistas
 
Sofrel LS-Flow : Distrettualizzazione delle reti idriche e telelettura delle ...
Sofrel LS-Flow : Distrettualizzazione delle reti idriche e telelettura delle ...Sofrel LS-Flow : Distrettualizzazione delle reti idriche e telelettura delle ...
Sofrel LS-Flow : Distrettualizzazione delle reti idriche e telelettura delle ...
 
Sombreros para mujeres alejandra monica silvera1
Sombreros para mujeres alejandra monica silvera1Sombreros para mujeres alejandra monica silvera1
Sombreros para mujeres alejandra monica silvera1
 
Los sentidos
Los sentidosLos sentidos
Los sentidos
 
La limpieza facial. alejandra monica silvera
La limpieza facial. alejandra monica silveraLa limpieza facial. alejandra monica silvera
La limpieza facial. alejandra monica silvera
 

Similar a ASAN Un debugger de memoria en tu compilador - Akademy-es 2014

valgrind y ASAN Dos formas de instrumentar código en busca de errores
valgrind y ASAN Dos formas de instrumentar código en busca de erroresvalgrind y ASAN Dos formas de instrumentar código en busca de errores
valgrind y ASAN Dos formas de instrumentar código en busca de erroreskdeespana
 
El artista antes conocido como KDE 5 - Akademy-es 2014
El artista antes conocido como KDE 5 - Akademy-es 2014El artista antes conocido como KDE 5 - Akademy-es 2014
El artista antes conocido como KDE 5 - Akademy-es 2014kdeespana
 
Debugando con Valgrind
Debugando con ValgrindDebugando con Valgrind
Debugando con Valgrindkdeespana
 
Akademy es2010 herramientas_valgrind_albert_astals
Akademy es2010 herramientas_valgrind_albert_astalsAkademy es2010 herramientas_valgrind_albert_astals
Akademy es2010 herramientas_valgrind_albert_astalsAkademyEs2010
 
Clazy, mejorando tu código en tiempo de compilación
Clazy, mejorando tu código en tiempo de compilaciónClazy, mejorando tu código en tiempo de compilación
Clazy, mejorando tu código en tiempo de compilaciónkdeespana
 
Qtquick, interfaces con animaciones fluídas en Qt5
Qtquick, interfaces con animaciones fluídas en Qt5Qtquick, interfaces con animaciones fluídas en Qt5
Qtquick, interfaces con animaciones fluídas en Qt5kdeespana
 
Novedades de C++11
Novedades de C++11Novedades de C++11
Novedades de C++11kdeespana
 
Desarrollando software libre sin ser informático akademy es 2017
Desarrollando software libre sin ser informático akademy es 2017Desarrollando software libre sin ser informático akademy es 2017
Desarrollando software libre sin ser informático akademy es 2017kdeespana
 

Similar a ASAN Un debugger de memoria en tu compilador - Akademy-es 2014 (12)

valgrind y ASAN Dos formas de instrumentar código en busca de errores
valgrind y ASAN Dos formas de instrumentar código en busca de erroresvalgrind y ASAN Dos formas de instrumentar código en busca de errores
valgrind y ASAN Dos formas de instrumentar código en busca de errores
 
El artista antes conocido como KDE 5 - Akademy-es 2014
El artista antes conocido como KDE 5 - Akademy-es 2014El artista antes conocido como KDE 5 - Akademy-es 2014
El artista antes conocido como KDE 5 - Akademy-es 2014
 
Antiresumen
AntiresumenAntiresumen
Antiresumen
 
Debugando con Valgrind
Debugando con ValgrindDebugando con Valgrind
Debugando con Valgrind
 
Akademy es2010 herramientas_valgrind_albert_astals
Akademy es2010 herramientas_valgrind_albert_astalsAkademy es2010 herramientas_valgrind_albert_astals
Akademy es2010 herramientas_valgrind_albert_astals
 
Okular
OkularOkular
Okular
 
KDE y Qt 5
KDE y Qt 5KDE y Qt 5
KDE y Qt 5
 
Clazy, mejorando tu código en tiempo de compilación
Clazy, mejorando tu código en tiempo de compilaciónClazy, mejorando tu código en tiempo de compilación
Clazy, mejorando tu código en tiempo de compilación
 
Testing
TestingTesting
Testing
 
Qtquick, interfaces con animaciones fluídas en Qt5
Qtquick, interfaces con animaciones fluídas en Qt5Qtquick, interfaces con animaciones fluídas en Qt5
Qtquick, interfaces con animaciones fluídas en Qt5
 
Novedades de C++11
Novedades de C++11Novedades de C++11
Novedades de C++11
 
Desarrollando software libre sin ser informático akademy es 2017
Desarrollando software libre sin ser informático akademy es 2017Desarrollando software libre sin ser informático akademy es 2017
Desarrollando software libre sin ser informático akademy es 2017
 

Más de kdeespana

Slimbook - Welcome to Freedom - Akademy-es 2017
Slimbook - Welcome to Freedom - Akademy-es 2017Slimbook - Welcome to Freedom - Akademy-es 2017
Slimbook - Welcome to Freedom - Akademy-es 2017kdeespana
 
KDE España: Qué es y para que sirve
KDE España: Qué es y para que sirve KDE España: Qué es y para que sirve
KDE España: Qué es y para que sirve kdeespana
 
Descubre plasma 5, el escritorio de la Comunidad KDE
Descubre plasma 5, el escritorio de la Comunidad KDEDescubre plasma 5, el escritorio de la Comunidad KDE
Descubre plasma 5, el escritorio de la Comunidad KDEkdeespana
 
La potencia del Terminal
La potencia del TerminalLa potencia del Terminal
La potencia del Terminalkdeespana
 
10 formas de colaborar akademy es 2016
10 formas de colaborar akademy es 201610 formas de colaborar akademy es 2016
10 formas de colaborar akademy es 2016kdeespana
 
Kool Desktop Environment
Kool Desktop EnvironmentKool Desktop Environment
Kool Desktop Environmentkdeespana
 
openQA y Open Build System
openQA y Open Build SystemopenQA y Open Build System
openQA y Open Build Systemkdeespana
 
KDE Frameworks, cuando Qt se nos queda corto
KDE Frameworks, cuando Qt se nos queda corto KDE Frameworks, cuando Qt se nos queda corto
KDE Frameworks, cuando Qt se nos queda corto kdeespana
 
Qt5 en distintas plataformas
Qt5 en distintas plataformasQt5 en distintas plataformas
Qt5 en distintas plataformaskdeespana
 
Next gen Desktop Apps
Next gen Desktop AppsNext gen Desktop Apps
Next gen Desktop Appskdeespana
 
KDE España: Qué es y para qué sirve
KDE España: Qué es y para qué sirveKDE España: Qué es y para qué sirve
KDE España: Qué es y para qué sirvekdeespana
 
KDE connect - Akademy-es 2014 por Albert Vaca
KDE connect - Akademy-es 2014 por Albert VacaKDE connect - Akademy-es 2014 por Albert Vaca
KDE connect - Akademy-es 2014 por Albert Vacakdeespana
 
Next gen-apps
Next gen-appsNext gen-apps
Next gen-appskdeespana
 
Kde experience - Akademy-es 2014
Kde experience - Akademy-es 2014Kde experience - Akademy-es 2014
Kde experience - Akademy-es 2014kdeespana
 
Baloo - Akademy-es 2014
Baloo - Akademy-es 2014Baloo - Akademy-es 2014
Baloo - Akademy-es 2014kdeespana
 
Es el momento de KDE - Akademy-es 2014
Es el momento de KDE - Akademy-es 2014Es el momento de KDE - Akademy-es 2014
Es el momento de KDE - Akademy-es 2014kdeespana
 
Mi momento kde Akademy-es 2014
Mi momento kde Akademy-es 2014Mi momento kde Akademy-es 2014
Mi momento kde Akademy-es 2014kdeespana
 
Desarrollando KDE
Desarrollando KDEDesarrollando KDE
Desarrollando KDEkdeespana
 
Plasma active three akademy es-2013_bilbo
Plasma active three akademy es-2013_bilboPlasma active three akademy es-2013_bilbo
Plasma active three akademy es-2013_bilbokdeespana
 

Más de kdeespana (20)

Slimbook - Welcome to Freedom - Akademy-es 2017
Slimbook - Welcome to Freedom - Akademy-es 2017Slimbook - Welcome to Freedom - Akademy-es 2017
Slimbook - Welcome to Freedom - Akademy-es 2017
 
KDE España: Qué es y para que sirve
KDE España: Qué es y para que sirve KDE España: Qué es y para que sirve
KDE España: Qué es y para que sirve
 
Descubre plasma 5, el escritorio de la Comunidad KDE
Descubre plasma 5, el escritorio de la Comunidad KDEDescubre plasma 5, el escritorio de la Comunidad KDE
Descubre plasma 5, el escritorio de la Comunidad KDE
 
La potencia del Terminal
La potencia del TerminalLa potencia del Terminal
La potencia del Terminal
 
10 formas de colaborar akademy es 2016
10 formas de colaborar akademy es 201610 formas de colaborar akademy es 2016
10 formas de colaborar akademy es 2016
 
Kool Desktop Environment
Kool Desktop EnvironmentKool Desktop Environment
Kool Desktop Environment
 
openQA y Open Build System
openQA y Open Build SystemopenQA y Open Build System
openQA y Open Build System
 
Plasma Next
Plasma NextPlasma Next
Plasma Next
 
KDE Frameworks, cuando Qt se nos queda corto
KDE Frameworks, cuando Qt se nos queda corto KDE Frameworks, cuando Qt se nos queda corto
KDE Frameworks, cuando Qt se nos queda corto
 
Qt5 en distintas plataformas
Qt5 en distintas plataformasQt5 en distintas plataformas
Qt5 en distintas plataformas
 
Next gen Desktop Apps
Next gen Desktop AppsNext gen Desktop Apps
Next gen Desktop Apps
 
KDE España: Qué es y para qué sirve
KDE España: Qué es y para qué sirveKDE España: Qué es y para qué sirve
KDE España: Qué es y para qué sirve
 
KDE connect - Akademy-es 2014 por Albert Vaca
KDE connect - Akademy-es 2014 por Albert VacaKDE connect - Akademy-es 2014 por Albert Vaca
KDE connect - Akademy-es 2014 por Albert Vaca
 
Next gen-apps
Next gen-appsNext gen-apps
Next gen-apps
 
Kde experience - Akademy-es 2014
Kde experience - Akademy-es 2014Kde experience - Akademy-es 2014
Kde experience - Akademy-es 2014
 
Baloo - Akademy-es 2014
Baloo - Akademy-es 2014Baloo - Akademy-es 2014
Baloo - Akademy-es 2014
 
Es el momento de KDE - Akademy-es 2014
Es el momento de KDE - Akademy-es 2014Es el momento de KDE - Akademy-es 2014
Es el momento de KDE - Akademy-es 2014
 
Mi momento kde Akademy-es 2014
Mi momento kde Akademy-es 2014Mi momento kde Akademy-es 2014
Mi momento kde Akademy-es 2014
 
Desarrollando KDE
Desarrollando KDEDesarrollando KDE
Desarrollando KDE
 
Plasma active three akademy es-2013_bilbo
Plasma active three akademy es-2013_bilboPlasma active three akademy es-2013_bilbo
Plasma active three akademy es-2013_bilbo
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 

Último (19)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 

ASAN Un debugger de memoria en tu compilador - Akademy-es 2014

  • 1. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN ASAN Un debugger de memoria en tu compilador Albert Astals Cid
  • 2. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN ¿Quien es Albert Astals Cid?  Ingeniero en Informática por la UPC  Traductor en KDE desde 2002  Programador en KDE desde 2003  Mantenedor de KPDF/Okular desde 2004  Miembro de KDE eV desde 2005, actualmente en la Junta Directiva  Miembro fundador de KDE España, ex-presidente  NO SOY UN EXPERTO EN ASAN
  • 3. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN ¿Que es ASAN? AddressSanitizer (aka ASAN) is a memory error detector for C/C++. It finds:  Use after free (dangling pointer dereference)  Heap buffer overflow  Stack buffer overflow  Global buffer overflow  Use after return  Initialization order bugs
  • 4. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN ¿Que es ASAN? (II) This tool is very fast. The average slowdown of the instrumented program is ~2x. The tool works on x86 Linux and Mac, and ARM Android. It supports gcc (>=4.8) and clang (>=3.1) (clang support is better) It's a Google project
  • 5. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN ¿Como uso ASAN? -fsanitize=address -g -fno-omit-frame-pointer ¡Fácil! Vámonos a casa :D ¡Esperad! Tengo ejemplos
  • 6. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN Uso despues de free
  • 7. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN ¡Pero eso es una mierda! ¡Haberlo dicho antes! Tenemos que exportar un par de variables de entorno: export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.4 export ASAN_OPTIONS=symbolize=1
  • 8. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN Acceso fuera del heap
  • 9. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN Acceso fuera de la pila
  • 10. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN Acceso fuera de globales
  • 11. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN Uso en librerias
  • 12. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN Valores sin inicializar
  • 13. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN ¿Y valgrind?  Valgrind/memcheck es una herramienta muy util  Es leeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeento :(  No necesita recompilación :)  Continua despues del primer error :)  Encuentra memory leaks :)  Encuentra memoria sin inicializar :) (MSAN no me funciona)  No encuentra accesos fuera de pila/globales :( Pero que te ha hecho el dragón!?!?!
  • 14. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Akademy-es 2014 – Málaga Albert Astals Cid <aacid@kde.org> ASAN ¿Preguntas?