Это способ:
public int GetWeekNumber()
{
CultureInfo ciCurr = CultureInfo.CurrentCulture;
int weekNum = ciCurr.Calendar.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
return weekNum;
}
Наиболее важным является параметр CalendarWeekRule
.
Вероятно, вы обращаетесь к неинициализированным данным или у вас какая-то проблема с повреждением памяти. Это объясняет, почему программа ведет себя иначе при запуске в отладчике - вы видите результаты неопределенного поведения.
Запустите вашу программу через инструмент memcheck valgrind и посмотрите, что он выдает. Valgrind - это мощный инструмент, который выявляет многие ошибки времени выполнения в Linux, включая полную трассировку стека до ошибки.