У меня есть немного кода с условием гонки... Я знаю, что это состояние гонки, потому что это происходит не последовательно, и, похоже, это происходит чаще на двухъядерных машинах.
Это никогда не происходит, когда я отслеживаю. Хотя, есть вероятность, что это может быть и тупик. Анализируя этапы завершения журналов, где это происходит и не происходит, я смог точно определить эту ошибку для одной функции. Однако я не знаю, где в рамках функции это происходит. Это не на верхнем уровне.
Добавление операторов журналов или контрольных точек будет менять время, если это условие гонки, и предотвратить это.
Есть ли какой-либо метод, который я могу использовать, помимо получения анализатора состояния гонки, который позволит мне определить, где это происходит?
Это в visual studio 9, с С++ (неуправляемого сорта).