{"id":8720,"date":"2025-07-31T16:22:34","date_gmt":"2025-07-31T07:22:34","guid":{"rendered":"https:\/\/hasu0707.duckdns.org\/blog\/?p=8720"},"modified":"2025-07-31T16:22:35","modified_gmt":"2025-07-31T07:22:35","slug":"opentext-fortify-sourceanalyzer%eb%a5%bc-%ec%82%ac%ec%9a%a9%ed%95%98%ec%97%ac-visual-c-c-%ec%bd%94%eb%93%9c-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=8720","title":{"rendered":"OpenText Fortify SourceAnalyzer\ub97c \uc0ac\uc6a9\ud558\uc5ec Visual C\/C++ \ucf54\ub4dc \ubd84\uc11d\ud558\uae30"},"content":{"rendered":"\n<p>OpenText Fortify\uc758&nbsp;<code>sourceanalyzer<\/code>\ub97c \uc0ac\uc6a9\ud558\uc5ec Visual C\/C++ \ud504\ub85c\uc81d\ud2b8\ub97c \ubd84\uc11d\ud558\ub294 \ubc29\ubc95\uc744 \ub2e8\uacc4\ubcc4\ub85c \uc124\uba85\ub4dc\ub9bd\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \ud544\uc218 \uc900\ube44 \uc0ac\ud56d<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fortify SCA(Static Code Analyzer) \uc124\uce58<\/li>\n\n\n\n<li>Microsoft Visual Studio \uc124\uce58 (\ud574\ub2f9 \ubc84\uc804\uc758 \ucef4\ud30c\uc77c\ub7ec \ud544\uc694)<\/li>\n\n\n\n<li>Windows \ud658\uacbd (Linux\/macOS\uc5d0\uc11c\ub294 Visual C++ \ubd84\uc11d\uc774 \uc81c\ud55c\uc801)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. \uae30\ubcf8 \ubd84\uc11d \uba85\ub839\uc5b4<\/h2>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sourceanalyzer -b &lt;\ube4c\ub4dcID&gt; &lt;\ucef4\ud30c\uc77c\ub7ec\uba85&gt; &lt;\ucef4\ud30c\uc77c\uc635\uc158&gt; &lt;\uc18c\uc2a4\ud30c\uc77c&gt;<\/pre>\n\n\n\n<p>\uc608\uc2dc:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sourceanalyzer -b MyProject cl \/c \/EHsc myfile.cpp<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. Visual Studio \ud504\ub85c\uc81d\ud2b8 \ubd84\uc11d \ubc29\ubc95<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ubc29\ubc95 1: \uba85\ub839\uc904\uc5d0\uc11c \uc9c1\uc811 \ucef4\ud30c\uc77c<\/h3>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sourceanalyzer -b MyProject -clean\nsourceanalyzer -b MyProject msbuild MyProject.sln \/p:Configuration=Release \/p:Platform=x64<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\ubc29\ubc95 2: Visual Studio \ube4c\ub4dc \ub85c\uadf8 \uc0ac\uc6a9<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\uba3c\uc800 Visual Studio\uc5d0\uc11c \ube4c\ub4dc \ub85c\uadf8 \uc0dd\uc131:textmsbuild MyProject.sln \/t:rebuild \/p:Configuration=Release \/p:Platform=x64 \/fl \/flp:v=diag<\/li>\n\n\n\n<li>\ub85c\uadf8 \ud30c\uc77c\uc744 \uc0ac\uc6a9\ud558\uc5ec \ubd84\uc11d:bashsourceanalyzer -b MyProject -vs-build-log msbuild.log<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">4. \uace0\uae09 \ubd84\uc11d \uc635\uc158<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ubd84\uc11d \uc635\uc158 \ucd94\uac00<\/h3>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sourceanalyzer -b MyProject -scan -f results.fpr -Xmx4G -analysis-memory 4G<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\uaddc\uce59 \ud329 \uc9c0\uc815<\/h3>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sourceanalyzer -b MyProject -scan -f results.fpr -rules \"Security Best Practices.xml\"<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\ubcd1\ub82c \ubd84\uc11d<\/h3>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sourceanalyzer -b MyProject -scan -f results.fpr -mt<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5. \uc77c\ubc18\uc801\uc778 \ubb38\uc81c \ud574\uacb0<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ucef4\ud30c\uc77c\ub7ec \uacbd\ub85c \ubb38\uc81c<\/h3>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sourceanalyzer -b MyProject -vs-version 2019 msbuild MyProject.sln<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">64\ube44\ud2b8 \ubaa8\ub4dc \uc0ac\uc6a9<\/h3>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sourceanalyzer -64 -b MyProject msbuild MyProject.sln<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">PDB \ud30c\uc77c \uc0dd\uc131 \ubb38\uc81c<\/h3>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sourceanalyzer -b MyProject -debug msbuild MyProject.sln<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">6. \ubd84\uc11d \uacb0\uacfc \ud655\uc778<\/h2>\n\n\n\n<p>\ubd84\uc11d\uc774 \uc644\ub8cc\ub41c \ud6c4 Fortify Audit Workbench\ub85c \uacb0\uacfc \ud655\uc778:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">AuditWorkbench results.fpr<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\uc8fc\uc758\uc0ac\ud56d<\/h2>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Visual Studio \ubc84\uc804\uacfc Fortify\uc758 \ud638\ud658\uc131 \ud655\uc778 \ud544\uc694<\/li>\n\n\n\n<li>\ub300\ud615 \ud504\ub85c\uc81d\ud2b8\uc758 \uacbd\uc6b0 \ucda9\ubd84\ud55c \uba54\ubaa8\ub9ac \ud560\ub2f9(-Xmx \uc635\uc158)<\/li>\n\n\n\n<li>\uc815\ud655\ud55c \ubd84\uc11d\uc744 \uc704\ud574 \uc804\uccb4 \ub9ac\ube4c\ub4dc \uc218\ud589 \uad8c\uc7a5<\/li>\n\n\n\n<li>Windows \ud658\uacbd\uc5d0\uc11c \ubd84\uc11d \uc2dc Windows SDK \uc124\uce58 \ud655\uc778<\/li>\n<\/ol>\n\n\n\n<p>\ud2b9\uc815 \ud504\ub85c\uc81d\ud2b8 \uad6c\uc131\uc5d0 \ub530\ub77c \ucd94\uac00 \uc635\uc158\uc774 \ud544\uc694\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud504\ub85c\uc81d\ud2b8\uc758 \ubcf5\uc7a1\ub3c4\uc5d0 \ub530\ub77c \uc801\uc808\ud55c \uba54\ubaa8\ub9ac \uc124\uc815\uacfc \ubd84\uc11d \uc2dc\uac04\uc744 \uace0\ub824\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>OpenText Fortify\uc758&nbsp;sourceanalyzer\ub97c \uc0ac\uc6a9\ud558\uc5ec Visual C\/C++ \ud504\ub85c\uc81d\ud2b8\ub97c \ubd84\uc11d\ud558\ub294 \ubc29\ubc95\uc744 \ub2e8\uacc4\ubcc4\ub85c \uc124\uba85\ub4dc\ub9bd\ub2c8\ub2e4. 1. \ud544\uc218 \uc900\ube44 \uc0ac\ud56d 2. \uae30\ubcf8 \ubd84\uc11d \uba85\ub839\uc5b4 bash sourceanalyzer -b &lt;\ube4c\ub4dcID&gt; &lt;\ucef4\ud30c\uc77c\ub7ec\uba85&gt; &lt;\ucef4\ud30c\uc77c\uc635\uc158&gt; &lt;\uc18c\uc2a4\ud30c\uc77c&gt; \uc608\uc2dc: bash sourceanalyzer -b MyProject cl \/c \/EHsc myfile.cpp 3. Visual Studio \ud504\ub85c\uc81d\ud2b8 \ubd84\uc11d \ubc29\ubc95 \ubc29\ubc95 1: \uba85\ub839\uc904\uc5d0\uc11c \uc9c1\uc811 \ucef4\ud30c\uc77c bash sourceanalyzer -b MyProject -clean sourceanalyzer -b MyProject msbuild MyProject.sln [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[66],"tags":[],"class_list":["post-8720","post","type-post","status-publish","format-standard","hentry","category-computing_fortify"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/8720","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8720"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/8720\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}