Для случайных падений с поля, иногда вы просто не можете их воспроизвести. Я отлаживал редкие состояния гонки и «невозможные» сбои с помощью посмертных аварийных отказов, собранных службой отчетов об ошибках Microsoft Windows. Я думаю, что гуру Microsoft Раймонд Чен называет это «экстрасенсорной отладкой».
Если ваша компания поставляет программное обеспечение Windows (C ++ или .NET) для широкой публики, я настоятельно рекомендую использовать службу отчетов об ошибках Windows (WER) от Microsoft. Это бесплатно, даже для коммерческих компаний-разработчиков программного обеспечения. Это проще, чем написать свой собственный отчет об ошибках и службу сбора аварийных отказов. WER даже объединяет все трассировки стека, чтобы вы знали, какие сбои являются дубликатами, что полезно, когда вам не хочется отлаживать тысячи дублированных сбоев. :)
По умолчанию и когда цель не установлена в скрипт scons, scons строит каждую цель в '.'. Вы можете контролировать, какие цели строить по умолчанию, с помощью функции Default:
lib = SConscript('libMySharedLib/SConscript')
bin = SConscript('MyBinary/SConscript')
env.Alias('install', env.Install(lib_dir, lib))
env.Alias('install', env.Install(bin_dir, bin))
# By default (scons called with no explicit target), only build bin
Default(bin)
AFAIK, нет способа указать scons ничего не строить, хотя я полагаю, вы можете создать фиктивную цель.