{"id":116371,"date":"2024-06-05T21:39:49","date_gmt":"2024-06-05T19:39:49","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/google-opublikoval-gwpsan-instrument-dlya-vyyavleniya-oshibok-na-stadii-vypolneniya-prilozhenij"},"modified":"2024-06-05T21:39:49","modified_gmt":"2024-06-05T19:39:49","slug":"google-opublikoval-gwpsan-instrument-dlya-vyyavleniya-oshibok-na-stadii-vypolneniya-prilozhenij","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/google-opublikoval-gwpsan-instrument-dlya-vyyavleniya-oshibok-na-stadii-vypolneniya-prilozhenij","title":{"rendered":"Google hat GWPSan ver\u00f6ffentlicht, ein Werkzeug zur Identifizierung von Fehlern w\u00e4hrend der Ausf\u00fchrung von Anwendungen.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Das Unternehmen Google hat den Quellcode des GWPSan-Tools ver\u00f6ffentlicht, das zur Fehlererkennung in Anwendungen dient, die f\u00fcr die Architekturen x86-64 und ARM64 erstellt wurden. GWPSan wird als Shared Library bereitgestellt, die beim Starten der Anwendung \u00fcber LD_PRELOAD eingebunden wird und die verf\u00fcgbaren Mechanismen des Linux-Kernels zur Programm\u00fcberwachung (PERF_TYPE_BREAKPOINT) und Prozess-Sampling f\u00fcr die Analyse nutzt. Der Code ist in C++ geschrieben und unter der Apache 2.0-Lizenz verf\u00fcgbar.      <\/p>\n<p>GWPSan ist als modulares Framework konzipiert, das die Anbindung von Modulen zur Implementierung von Detektoren verschiedener Fehlerklassen unterst\u00fctzt. GWPSan f\u00fchrt eine dynamische Analyse durch, die \u00fcber Signalhandler aktiviert wird, wodurch die Ausf\u00fchrungspl\u00e4ne des Programmcodes unver\u00e4ndert bleiben. F\u00fcr die effektive Funktion der meisten Detektoren ist es erforderlich, dass die Anwendung mit bestimmten Compiler-Flags kompiliert wird, die notwendige Metadaten hinzuf\u00fcgen. Mindestens Clang 18 und Linux-Kernel 6.4 sind erforderlich.    <\/p>\n<p>Derzeit sind drei Detektoren verf\u00fcgbar:  <\/p>\n<ul>\n<li class=\"l\"> UAR (Use-after-return) \u2014 erkennt Fehler, die durch die Verwendung eines Objekts im Stack nach dem Verlassen der Funktion, in der dieses Objekt definiert wurde, verursacht werden. Der Schutz erfolgt durch das Abfangen von Ein- und Ausstiegspunkten der Funktion \u2014 beim Eintreten wird der Stack durch eine Kopie ersetzt, die w\u00e4hrend der Ausf\u00fchrung der Funktion verwendet wird, und beim Verlassen wird der alte Zustand des Stacks wiederhergestellt.\n<li class=\"l\"> TSan (Thread Sanitizer) \u2014 identifiziert Race Conditions zwischen Threads (Data-race), die auftreten, wenn unterschiedliche gleichzeitig ausgef\u00fchrte Threads auf gemeinsame Speicherbereiche zugreifen oder diese \u00e4ndern, ohne daf\u00fcr Synchronisationsprimitive zu verwenden. Der Schutz basiert auf der Verwendung von Hardware-Breakpoints, die an gemeinsame Speicherbereiche gebunden sind. Der ausl\u00f6sende Handler unterbricht f\u00fcr kurze Zeit die Ausf\u00fchrung des Threads beim Zugriff auf den Speicher und \u00fcberpr\u00fcft in dieser Unterbrechung, ob ein Breakpoint f\u00fcr einen anderen Thread ausgel\u00f6st wurde.\n<li class=\"l\"> LMSan (Lightweight Memory Sanitizer) \u2014 erkennt die Verwendung von nicht initialisierten Daten im Speicher. Der Detektor ist als experimentell gekennzeichnet und wird nicht f\u00fcr den Einsatz empfohlen.  <\/ul>\n<p>GWPSan analysiert den ausf\u00fchrbaren Programm-Code, indem es das DynamoRIO-Framework verwendet, um maschinellen Code in abstrakte ISA-Instruktionen zu decodieren, die dann durch Emulation ausgef\u00fchrt werden. \u00dcber periodische Signale des Timers wird ein einheitlicher Handler aufgerufen, der bei jedem Aufruf einen bestimmten Satz von Instruktionen f\u00fcr den analysierten Datenstrom ausf\u00fchrt. Wenn bei der Ausf\u00fchrung bestimmter Instruktionen Probleme entdeckt werden, wird ein spezifischer Problemdetektor f\u00fcr die jeweiligen Instruktionen gestartet; zum Beispiel wird f\u00fcr Instruktionen, die auf den Speicher zugreifen, ein Detektor f\u00fcr Race Conditions aktiviert.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61317\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f GWPSan, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 x86-64 \u0438 ARM64. GWPSan \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 LD_PRELOAD \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0432 \u044f\u0434\u0440\u0435 Linux \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 (PERF_TYPE_BREAKPOINT) \u0438 \u0441\u044d\u043c\u043f\u043b\u0438\u043d\u0433\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432. \u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-116371","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f GWPSan, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 x86-64 \u0438 ARM64.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/news\/google-opublikoval-gwpsan-instrument-dlya-vyyavleniya-oshibok-na-stadii-vypolneniya-prilozhenij\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Google \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b GWPSan, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f GWPSan, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 x86-64 \u0438 ARM64.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/google-opublikoval-gwpsan-instrument-dlya-vyyavleniya-oshibok-na-stadii-vypolneniya-prilozhenij\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-06-05T19:39:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-06-05T19:39:49+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Google hat GWPSan ver\u00f6ffentlicht, ein Tool zur Fehlererkennung w\u00e4hrend der Ausf\u00fchrung von Anwendungen | ProHoster","description":"Die Google GmbH hat die Quelltexte des GWPSan-Tools ver\u00f6ffentlicht, das zur Identifizierung von Fehlern w\u00e4hrend der Ausf\u00fchrung von Anwendungen dient, die f\u00fcr die x86-64- und ARM64-Architekturen erstellt wurden.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/google-opublikoval-gwpsan-instrument-dlya-vyyavleniya-oshibok-na-stadii-vypolneniya-prilozhenij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Google \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b GWPSan, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f GWPSan, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 x86-64 \u0438 ARM64.","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/google-opublikoval-gwpsan-instrument-dlya-vyyavleniya-oshibok-na-stadii-vypolneniya-prilozhenij","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-06-05T19:39:49+00:00","article:modified_time":"2024-06-05T19:39:49+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"116371","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 01:49:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 01:49:19","updated":"2026-01-23 01:49:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/116371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=116371"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/116371\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=116371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=116371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=116371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}