14 Eylül 2014 Pazar

VectorCast

Giriş
VectorCast firmasının VectorCover aracı ile coverage alma hakkında notlarım aşağıda. DO-178B süreciden SCA için kullanılıyor.

Working Directory
Working directory'de CCAST_.CFG dosyası bulunur. Bu dosya Tools > Options menüsü ile girilen seçenekleri saklar.

VectorCast eğer working directory isminde boşluk varsa çalışmıyor. File > Set Working Directory ile yeni bir çalışma alanı tanımlamak gerekebilir. Ayrıca Tools > Options menüsü ile GUI sekmesine gelip "Remember last working directory" seçeneğini kullanarak bu dizinin hatırlanması sağlanır.

Environment
Visual Studio terminolojisi ile açıklamak gerekirse CCAST_.CFG solution dosyası environmentismi.vcp ise  proje dosyası olarak düşünülebilir. vcp dosyasında instrument edilecek dosyaların bilgileri bulunur.

Preprocessor
Preprocessing işlemi şu yüzden yapılıyor.
"Instrumenter rely on source being preprocessed so that all macros and expanded and conditional compilation sections are resolved. Preprocessed source code can be created by running the compiler with the correct flags."

Windows Ortamı İçin Debug veya Release Seçilmesi
Tools > Options Preprocessor/Compiler sekmesinde "Defined Variables" alanına _DEBUG yazılmalı

Windows Ortamı İçin C Runtime Seçilmesi
1. Multi Threaded Debug -> Debug için /Mtd /D "_DEBUG"
                                         -> Release için /Mtd

2. Multi Threaded Debug DLL -> Debug için /MDd /D "_DEBUG"
                                                  -> Release için /MDd



Instrumented Kod Örnekleri
MyClass.cpp dosyasında
extern char vcast_unit_stmt_bytes_1 [];

MyClass::MyClass () {
 VCAST_STATEMENT_INSTRUMENTATION_POINT_REALTIME (vcast_unit_stmt_bytes_1,1,0); //1. unit 0. statement

}

vcast_c_options.h dosyasında
char vcast_unit_stmt_bytes_1 [2] = {0};

Üretilen Kod
c_cover_io.cpp, vcast_c_options.h ve c_cover.h projeye dahil edilmeli.

Eğer kapsama sonucu dosyaya yazılacaksa, dosyayı oluşturan kod
void vCAST_CREATE_INST_FILE (void) imzasına sahip.


Hiç yorum yok:

Yorum Gönder