Server build kami terlalu lama untuk membangun salah satu proyek C ++ kami. Ini menggunakan Visual Studio 2008. Apakah ada cara untuk membuat devenv.com mencatat waktu yang dibutuhkan untuk membangun setiap proyek dalam solusi, sehingga saya tahu di mana harus memfokuskan upaya saya?
Perangkat keras yang ditingkatkan bukan merupakan opsi dalam hal ini.
Saya sudah mencoba mengatur verbositas keluaran (di bawah Alat / Opsi / Proyek dan Solusi / Bangun dan Jalankan / proyek MSBuild membangun verbositas keluaran). Ini sepertinya tidak berpengaruh pada IDE.
Saat menjalankan MSBuild dari baris perintah (dan, untuk Visual Studio 2008, harus MSBuild v3.5), ini menampilkan total waktu yang telah berlalu di bagian akhir, tetapi tidak di IDE.
Saya benar-benar ingin laporan yang diambil waktu untuk setiap proyek dalam solusi, sehingga saya bisa mencari tahu di mana proses pembangunan mengambil waktu.
Atau, karena kita benar-benar menggunakan NAnt untuk mendorong proses pembangunan (kami menggunakan Jetbrains TeamCity), apakah ada cara untuk membuat NAnt memberi tahu saya waktu yang diperlukan untuk setiap langkah?
sumber
Pergi ke Alat → Pilihan → Proyek dan Solusi → Bangun dan Jalankan → Proyek MSBuild membangun verbositas keluaran - diatur ke "Normal" atau "Detail", dan waktu build akan muncul di jendela output.
sumber
Visual Studio 2012 - 2019
Untuk Proyek MSBuild (mis. Semua .Net-Projects):
Klik
Tools -> Options
dan kemudian pilihProjects and Solutions -> Build and Run
. UbahMSBuild project build output verbosity
keNormal
. Sehingga ia akan menampilkan Waktu yang Sudah Berlalu dalam setiap Proyek Solusi yang dibangunnya. Namun sayangnya tidak ada Jumlah Waktu Berlalu atas semua proyek. Anda juga akan melihat Timestamp mulai pembangunanUNTUK Proyek C / C ++:
Klik
Tools -> Options
lalu pilihProjects and Solutions -> VC++ Project Settings
.Ubah
Build Timing
keYes
.sumber
Build Timing
hanya menampilkan waktu total saja.Untuk Visual Studio 2012 Anda bisa menggunakan ekstensi Build Monitor .
sumber
Jika Anda terjebak pada VS2005 Anda bisa menggunakan plugin vs-build-timer . Pada penyelesaian membangun itu menunjukkan total waktu yang diambil dan ringkasan (opsional) dari masing-masing durasi proyek.
Penolakan; Saya menulisnya. Dan ya, saya perlu membuat installer ... suatu hari!
sumber
Alat-> Opsi-> Proyek dan Solusi-> Bangun dan Jalankan->
Setel "MSBuild project build output verbosity" dari "Minimal" ke "Normal"
sumber
Jika Anda ingin memvisualisasikan bangunan Anda, Anda dapat menggunakan IncrediBuild. IncrediBuild sekarang tersedia dalam mode mandiri (tidak didistribusikan tetapi hanya digunakan pada 8 core pada mesin lokal Anda) secara gratis sebagai bagian dari Pembaruan Visual Studio 2015 1
Penafian: Saya bekerja untuk IncrediBuild
sumber
Karena pertanyaan Anda melibatkan penggunaan DevEnv dari baris perintah, saya juga menyarankan menggunakan MSBuild (yang dapat membangun file .sln tanpa modifikasi).
msbuild /?
akan menunjukkan kepada Anda opsi lain yang bermanfaat untuk filelogger.sumber
Saya telah membuat ekstensi untuk mengukur waktu pembuatan dan menyajikan urutan peristiwa dalam grafik: Visual Studio Build Timer .
Ini tersedia di pasar visual studio dan berfungsi untuk VS2015, VS2017 dan VS2019.
Saya menemukan presentasi visual cukup membantu. Selain menunjukkan proyek mana yang lebih lama, itu juga menunjukkan ketergantungan di antara mereka, yaitu proyek yang menunggu orang lain untuk menyelesaikan sebelum mereka mulai. Dengan cara ini Anda bisa melihat kemacetan di build dan melihat dependensi apa yang perlu dipecahkan untuk meningkatkan paralelisasi build Anda.
sumber
Saya berakhir di sini karena saya hanya ingin tanggal dan waktu dimasukkan dalam output build. Jika orang lain mencari sesuatu yang serupa itu sesederhana menambah
echo %date% %time%
acara Pra-bangun dan / atau pasca-bangun dalam proyek, Properties → Compile → Build Events .sumber
Lakukan build terlebih dahulu dan lihat proyek mana yang muncul pertama kali di build output ( Ctrl+ Homedi jendela output). Klik kanan proyek itu → Properti Proyek → Kompilasi → Bangun Acara → Pra-bangun . Dan
echo ###########%date% %time%#############
.Jadi setiap kali Anda melihat hasil build (atau selama build) lakukan Ctrl+ Homedi jendela output. Dan di suatu tempat di daerah itu waktu dan tanggal menatap wajah Anda!
Oh dan Anda mungkin akhirnya menambahkan detail ini ke banyak proyek karena pesanan build dapat berubah :)
Saya menemukan solusi yang lebih baik! ###
Alat → Pilihan → Proyek & Solusi → Bangun dan Jalankan → Proyek MSBuild membangun output verbosity = Normal (atau di atas Minimal ). Ini menambah waktu di awal / atas jendela output. Ctrl+ Homedi jendela output harus dilakukan.
Jika kita ingin melihat berapa banyak waktu yang dibutuhkan masing-masing proyek maka Proyek & Solusi → VC ++ Pengaturan Proyek → Waktu Pembuatan = ya . Ini berlaku untuk semua proyek; "VC ++" menyesatkan.
sumber
Jika Anda ingin menjalankan program eksternal yang dapat melacak total waktu build Anda, Anda dapat menggunakan solusi berikut untuk VS 2010 (dan mungkin lebih lama). Kode di bawah ini menggunakan CTime oleh Casey Muratori. Tentu saja Anda juga dapat menggunakannya untuk mencetak waktu pembuatan.
Buka penjelajah makro, dan rekatkan yang berikut ini sebelumnya
End Module
:Jawaban diambil dari sini dan sini .
sumber
Pilihan -> Proyek dan Solusi -> VC ++ Pengaturan Proyek -> Build Timing
sumber