انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

scan-build-3.8 - آنلاین در ابر

scan-build-3.8 را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور scan-build-3.8 است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


اسکن ساخت - آنالایزر استاتیک صدای زنگ

خلاصه


اسکن ساخت [-ohkvV] [-تحلیل-سرصفحه] [فعال کردن-بررسی [checker_name]]
[-غیر فعال کردن بررسی [checker_name]] [--کمک] [---کمک چک]
[--html-title [= عنوان]] [-- ادامه بده] [-plist] [-plist-html] [--status-bugs]
[--use-c++ [=compiler_path]] [--use-cc [=compiler_path]] [--چشم انداز]
[-محدودیت ها [مدل]] [-maxloop N] [-گزارش های بدون شکست] [-آمار]
[-فروشگاه [مدل]] build_command [build_Options]

شرح


اسکن ساخت یک اسکریپت پرل است که تحلیلگر استاتیک Clang را فراخوانی می کند. گزینه های استفاده شده توسط
اسکن ساخت یا توسط آنالیزور ابتدا ظاهر می شود و سپس build_command و هرکدام
build_Options معمولاً برای ساختن سیستم هدف استفاده می شود.

تحلیلگر استاتیک از فهرست طولانی الگوریتم های بررسی استفاده می کند چک. خروجی می تواند باشد
در قالب استاندارد plist و/یا HTML نوشته شده است.

گزینه های زیر پشتیبانی می شوند:

-تحلیل-سرصفحه
همچنین توابع را در فایل های #شامل آنالیز کنید.

فعال کردن-بررسی checker_name, -غیر فعال کردن بررسی checker_name
فعال غیرفعال checker_nameاست. دیدن چک.

-h, --کمک
نمایش این پیام

---کمک چک
چک‌های پیش‌فرض را فهرست کنید، ببینید چک.

--html-title[=عنوان]
عنوان مورد استفاده در صفحات HTML تولید شده را مشخص کنید. یک عنوان پیش فرض ایجاد می شود اگر
عنوان مشخص نشده است

-k, -- ادامه بده
گزینه ادامه دادن به ادامه را اضافه کنید build_command. در حال حاضر از make and پشتیبانی می کند
xcodebuild. این یک گزینه راحت است. می توان مستقیماً این رفتار را مشخص کرد
با استفاده از گزینه های ساخت

-o فهرست هدف برای فایل های گزارش HTML. در صورت نیاز زیر شاخه ها ایجاد خواهند شد
فراخوانی های جداگانه تحلیلگر را نشان می دهد. اگر این گزینه مشخص نشده باشد، الف
دایرکتوری در ایجاد می شود دایرکتوری / tmp (TMPDIR در Mac OS X) برای ذخیره گزارش ها.

-plist خروجی نتایج به عنوان مجموعه ای از فایل های plist. (به طور پیش فرض خروجی از اسکن ساخت is
مجموعه ای از فایل های HTML.)

-plist-html
خروجی نتایج به عنوان مجموعه ای از فایل های HTML و plist

--status-bugs
اگر اشکالات احتمالی پیدا کرد وضعیت خروج را روی 1 و در غیر این صورت 0 را تنظیم کنید. به طور پیش فرض خروج
وضعیت اسکن ساخت است که توسط build_command.

--use-c++[=مسیر_کامپایلر]
کامپایلر پیش‌فرض کدهای C++ و Objective-C را حدس بزنید. از این گزینه استفاده کنید تا
یک کامپایلر جایگزین را مشخص کنید.

--use-cc[=مسیر_کامپایلر]
کامپایلر پیش فرض کد C و Objective-C خود را حدس بزنید. از این گزینه استفاده کنید تا
یک کامپایلر جایگزین را مشخص کنید.

-v خروجی پرمخاطب از اسکن ساخت و آنالیزور یک دوم و سوم v را افزایش می دهد
پرحرفی

-V, --چشم انداز
پس از اتمام ساخت، نتایج تجزیه و تحلیل را در مرورگر وب مشاهده کنید.

-محدودیت ها [مدل]
موتور محدودیت مورد استفاده توسط تحلیلگر را مشخص کنید. به طور پیش فرض مدل "محدوده" است
استفاده شده. مشخص کردن "basic" از یک مدل محدودیت ساده تر و کمتر قدرتمند استفاده می کند
checker-0.160 و قبل از آن.

-maxloop N
تعداد دفعاتی را که می توان از یک بلوک قبل از تسلیم بازدید کرد، مشخص کنید. پیش فرض 4 است.
افزایش برای پوشش جامع تر با هزینه سرعت.

-گزارش های بدون شکست
از ایجاد یک زیرشاخه «شکست‌ها» که شامل گزارش‌های خرابی تحلیلگر و
فایل های منبع از پیش پردازش شده

-آمار آمار بازدید پروژه در حال تجزیه و تحلیل را ایجاد می کند.

-فروشگاه [مدل]
مدل ذخیره مورد استفاده توسط تحلیلگر را مشخص کنید. به‌طور پیش‌فرض، مدل فروشگاه «منطقه».
استفاده می شود. 'region' یک مدل فروشگاه حساس به میدان را مشخص می کند. کاربران همچنین می توانند مشخص کنند
"basic" که بسیار دقیق تر است اما می تواند کد را با سرعت بیشتری تجزیه و تحلیل کند. "اساسی" بود
مدل فروشگاه پیش فرض برای checker-0.221 و قبل از آن.

خروج وضعیت


اسکن ساخت مقدار بازگشتی توسط build_command مگر --status-bugs or -- ادامه بده
استفاده می شود.

چک


چکرزهای فهرست شده در زیر ممکن است با استفاده از آن فعال/غیرفعال شوند فعال کردن-بررسی و
-غیر فعال کردن بررسی گزینه ها. یک گروه پیش فرض از چکرز اجرا می شود مگر اینکه به صراحت غیرفعال شود.
اینکه دقیقاً کدام چکرز گروه پیش‌فرض را تشکیل می‌دهد تابعی از سیستم عامل است
استفاده کنید؛ آنها با لیست شده اند ---کمک چک.

core.AdjustedReturnValue
بررسی کنید که آیا مقدار برگشتی یک فراخوانی تابع با فراخوان دهنده متفاوت است یا خیر
انتظار می رود (به عنوان مثال، از فراخوانی از طریق اشاره گرهای تابع).

core.AttributeNonNull
نشانگرهای تهی را بررسی کنید که به عنوان آرگومان به تابعی که آرگومان های آن ارسال می شود
با ویژگی "nonnull" مشخص شده است.

core.CallAndMessage
خطاهای منطقی برای فراخوانی تابع و عبارات پیام Objective-C را بررسی کنید
(به عنوان مثال، آرگومان های بدون مقدار اولیه، نشانگرهای تابع تهی).

core.DivideZero
تقسیم بر صفر را بررسی کنید.

core.NullDereference
عدم ارجاع اشاره گرهای تهی را بررسی کنید.

core.StackAddressEscape
بررسی کنید که آدرس‌های ذخیره‌سازی حافظه از عملکرد خارج نشوند.

core.UndefinedBinaryOperatorResult
نتایج تعریف نشده عملگرهای باینری را بررسی کنید.

core.VLASize
اعلان های VLA با اندازه تعریف نشده یا صفر را بررسی کنید.

core.builtin.BuiltinFunctions
ارزیابی توابع داخلی کامپایلر، به عنوان مثال تخصیص()

core.builtin.NoReturnFunctions
عملکردهای «هراس» را که مشخص است به تماس گیرنده باز نمی گردند، ارزیابی کنید.

core.unitialized.ArraySubscript
مقادیر بدون مقدار اولیه که به عنوان زیرنویس آرایه استفاده می شود را بررسی کنید.

core.unitialized.Assign
تخصیص مقادیر اولیه را بررسی کنید.

core.unitialized.Branch
مقادیر بدون مقدار اولیه مورد استفاده به عنوان شرایط شاخه را بررسی کنید.

core.uniitialized.CapturedBlockVariable
بلوک هایی را بررسی کنید که مقادیر اولیه را ثبت می کنند.

core.uninitialized.UndefReturn
بررسی کنید که مقادیر اولیه به تماس گیرنده برگردانده شوند.

deadcode.DeadStores
مقادیر ذخیره شده در متغیرهایی را که هرگز بعد از آن خوانده نمی شوند، بررسی کنید.

اشکال زدایی.DumpCFG
نمایش نمودارهای کنترل جریان

اشکال زدایی.DumpCallGraph
نمایش نمودار تماس

اشکال زدایی.DumpDominators
درخت تسلط را برای نمودار کنترل جریان داده شده چاپ کنید.

اشکال زدایی.DumpLiveVars
چاپ نتایج تجزیه و تحلیل متغیر زنده

debug.Stats
اخطارها را با آمار تحلیلگر منتشر کنید.

اشکال زدایی.TaintTest
نمادهای آلوده را به این صورت علامت گذاری کنید.

اشکال زدایی.ViewCFG
مشاهده نمودارهای کنترل جریان با استفاده از GraphViz.

اشکال زدایی.ViewCallGraph
مشاهده نمودار تماس با استفاده از GraphViz.

llvm.کنوانسیون ها
کدهای مربوط به قراردادهای پایگاه کد LLVM را بررسی کنید.

osx.API استفاده صحیح از APIهای مختلف Mac OS X را بررسی کنید.

osx.AtomicCAS
ارزیابی تماس ها به OSAtomic توابع.

osx.SecKeychainAPI
استفاده مناسب از Secure Keychain APIs را بررسی کنید.

osx.cocoa.AtSync
نشانگرهای تهی مورد استفاده به عنوان mutexes برای @synchronized را بررسی کنید.

osx.cocoa.ClassRelease
ارسال "Retain"، "Release" یا "Autorelease" را مستقیماً به یک کلاس بررسی کنید.

osx.cocoa.IncompatibleMethodTypes
در مورد امضاهای متد Objective-C با ناسازگاری نوع هشدار دهید.

osx.cocoa.NSAutoreleasePool
هشدار برای استفاده های نابهینه از NSAutoreleasePool در حالت Objective-C GC.

osx.cocoa.NSError
استفاده از پارامترهای NSError** را بررسی کنید.

osx.cocoa.NilArg
آرگومان های صفر ممنوع برای فراخوانی های متد Objective-C را بررسی کنید.

osx.cocoa.RetainCount
نشت و مدیریت نامناسب تعداد مراجع را بررسی کنید.

osx.cocoa.SelfInit
بررسی کنید که «self» به درستی در یک متد مقداردهی اولیه مقداردهی اولیه شده باشد.

osx.cocoa.UusedIvars
هشدار در مورد ivar های خصوصی که هرگز استفاده نمی شوند.

osx.cocoa.VariadicMethodTypes
بررسی کنید که انواع غیر Objective-C را به روش های متغیری که فقط انتظار دارند منتقل کنید
انواع Objective-C.

osx.coreFoundation.CFError
استفاده از پارامترهای CFErrorRef* را بررسی کنید.

osx.coreFoundation.CFNumber
استفاده های مناسب را بررسی کنید CFNumberCreate()

osx.coreFoundation.CFRetainRelease
آرگومان های تهی را بررسی کنید CFRetain() ، CFRelease()، و CFMakeCollectable()

osx.coreFoundation.containers.OutOfBounds
هنگام استفاده از ایندکس خارج از محدوده را بررسی می کند CFAray API

osx.coreFoundation.containers.PointerSizedValues
هشدار می دهد اگر CFAray, فرهنگ لغت CF، یا CFSet با مقادیر غیر اشاره گر ایجاد می شوند.

امنیت.FloatLoopCounter
در مورد استفاده از مقدار ممیز شناور به عنوان شمارنده حلقه هشدار دهید (CERT: FLP30-C، FLP30-CPP).

security.insecureAPI. UncheckedReturn
هشدار در مورد استفاده از توابعی که مقادیر بازگشتی آنها باید همیشه بررسی شود.

security.insecureAPI.getpw
هشدار در مورد استفاده از getpw()

security.insecureAPI.gets
هشدار در مورد استفاده از می شود()

security.insecureAPI.mkstemp
هشدار دهید چه زمانی mkstemp() کمتر از 6 X در رشته قالب ارسال می شود.

security.insecureAPI.mktemp
هشدار در مورد استفاده از mktemp()

security.insecureAPI.rand
هشدار در مورد استفاده از حاشیه() ، تصادفی() و توابع مرتبط.

security.insecureAPI.strcpy
هشدار در مورد استفاده از strcpy() و تخته سنگ()

security.insecureAPI.vfork
هشدار در مورد استفاده از vfork()

unix.API
تماس با توابع مختلف UNIX/Posix را بررسی کنید.

unix.Malloc
نشت حافظه را بررسی کنید، دو برابر رایگان، و پس از استفاده رایگان.

unix.cstring.BadSizeArg
آرگومان اندازه ارسال شده به توابع رشته C را برای اشتباهات رایج بررسی کنید
الگوهای.

unix.cstring.NullArg
بررسی کنید که نشانگرهای تهی به عنوان آرگومان به توابع رشته C ارسال شوند.

مثال


اسکن ساخت -o /tmp/myhtmldir ساخت -j4

مثال بالا باعث می‌شود که گزارش‌های تجزیه و تحلیل در یک زیرشاخه از
/tmp/myhtmldir و برای دویدن ساخت با -j4 گزینه. یک زیر شاخه متفاوت ایجاد می شود
هر زمان اسکن ساخت یک پروژه را تحلیل می کند آنالایزر باید از اکثر سازه های موازی پشتیبانی کند،
اما بیلدهای توزیع نشده

AUTHORS


اسکن ساخت توسط تد کرمنک نوشته شده است. اسناد ارائه شده توسط
جیمز کی لودن[ایمیل محافظت شده]>.

از scan-build-3.8 به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad