{"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\/sv\/blog\/news\/google-opublikoval-gwpsan-instrument-dlya-vyyavleniya-oshibok-na-stadii-vypolneniya-prilozhenij","title":{"rendered":"Google har publicerat GWPSan, ett verktyg f\u00f6r att identifiera fel under k\u00f6rning av applikationer","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Google har publicerat k\u00e4llkoden f\u00f6r GWPSan-verktyget, som \u00e4r avsett f\u00f6r att uppt\u00e4cka fel vid k\u00f6rningen av program som har byggts f\u00f6r x86-64 och ARM64-arkitekturer. GWPSan levereras som ett delat bibliotek som l\u00e4nkas vid programstart med hj\u00e4lp av LD_PRELOAD och anv\u00e4nder tillg\u00e4ngliga mekanismer i Linux-k\u00e4rnan f\u00f6r att analysera programmet, s\u00e5som stopp (PERF_TYPE_BREAKPOINT) och processprovtagning. Koden \u00e4r skriven i C++ och distribueras under Apache 2.0-licensen.      <\/p>\n<p>GWPSan \u00e4r designat som ett modul\u00e4rt ramverk som st\u00f6djer anslutning av moduler med implementeringar av detektorer f\u00f6r olika klasser av fel. GWPSan utf\u00f6r dynamisk analys, aktiverad genom signalhanterare, vilket g\u00f6r det m\u00f6jligt att undvika att \u00e4ndra den k\u00f6rbara koden f\u00f6r programmet. F\u00f6r att de flesta detektorer ska fungera effektivt kr\u00e4vs att programmet byggs med vissa kompilatorflaggor som l\u00e4gger till n\u00f6dv\u00e4ndig metadata. Minimikravet \u00e4r Clang 18 och Linux-k\u00e4rnan 6.4.    <\/p>\n<p>F\u00f6r n\u00e4rvarande finns det tre detektorer:  <\/p>\n<ul>\n<li class=\"l\"> UAR (Anv\u00e4ndning efter \u00e5terl\u00e4mnande) \u2014 identifierar fel orsakade av anv\u00e4ndning av ett objekt p\u00e5 stacken efter att funktionen d\u00e4r objektet definierades har avslutats. Skyddet \u00e4r organiserat genom att f\u00e5nga ing\u00e5ngs- och utg\u00e5ngspunkter f\u00f6r funktionen \u2014 vid ing\u00e5ng byts stacken mot en kopia som anv\u00e4nds under k\u00f6rning av funktionen, och vid utg\u00e5ng \u00e5terst\u00e4lls det gamla tillst\u00e5ndet f\u00f6r stacken.\n<li class=\"l\"> TSan (Tr\u00e5d Sanitizer) \u2014 identifierar tillst\u00e5nd av t\u00e4vlan mellan tr\u00e5dar (Data-race), vilket uppst\u00e5r n\u00e4r olika samtidigt k\u00f6rda tr\u00e5dar kan l\u00e4sa eller \u00e4ndra gemensamma minnesomr\u00e5den utan att anv\u00e4nda synkroniseringsprimitive. Skyddet \u00e4r baserat p\u00e5 anv\u00e4ndning av h\u00e5rdvaru-brytpunkter som kopplas till gemensamma minnesomr\u00e5den. Den utl\u00f6sande hanteraren pausar kortvarigt tr\u00e5dens k\u00f6rning vid minnes\u00e5tkomst och under denna paus kontrollerar om en brytpunkt har utl\u00f6sts f\u00f6r en annan tr\u00e5d.\n<li class=\"l\"> LMSan (Lightweight Memory Sanitizer) \u2014 identifierar anv\u00e4ndning av oinitialiserade data i minnet. Detektorn \u00e4r markerad som experimentell och rekommenderas inte f\u00f6r anv\u00e4ndning.  <\/ul>\n<p>GWPSan analyserar den k\u00f6rbara koden av programmet med hj\u00e4lp av DynamoRIO-ramverket f\u00f6r att avkoda maskinkoden till abstrakta ISA-instruktioner, som sedan utf\u00f6rs via emulering. Genom periodiska signaler fr\u00e5n timern anropas den enhetliga hanteraren, som vid varje anrop k\u00f6r en specifik del av instruktionerna f\u00f6r den analyserade str\u00f6mmen. Vid uppt\u00e4ckten av vissa instruktioner under k\u00f6rningen aktiveras en specifik problemdetektor f\u00f6r dessa instruktioner, till exempel aktiveras en detektor f\u00f6r race-tillst\u00e5nd f\u00f6r instruktioner som g\u00f6r minnes\u00e5tkomst.<br \/>\n<br \/>K\u00e4lla: <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.4 - 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\/sv\/blog\/news\/google-opublikoval-gwpsan-instrument-dlya-vyyavleniya-oshibok-na-stadii-vypolneniya-prilozhenij\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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 har publicerat GWPSan, ett verktyg f\u00f6r att uppt\u00e4cka fel i k\u00f6rningsstadiet av applikationer | ProHoster","description":"Google har publicerat k\u00e4llkoderna f\u00f6r verktyget GWPSan, som \u00e4r avsett f\u00f6r att identifiera fel vid k\u00f6rning av applikationer som har skapats f\u00f6r arkitekturerna x86-64 och ARM64.","canonical_url":"https:\/\/prohoster.info\/sv\/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":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/116371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=116371"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/116371\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=116371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=116371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=116371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}