2016-03-30 2 views
0

Я изучаю ошибку при использовании async/await. Однако он отображается ниже и не отображает номер строки.Как получить номер строки в async ждут C#

System.UnauthorizedAccessException: Access to the port is denied. 
at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str) 
at System.Threading.Semaphore..ctor(Int32 initialCount, Int32 maximumCount, String name) 
at StorageServiceIntegration.Managers.StorageServiceManager.d__41.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
at StorageServiceIntegration.Managers.StorageServiceManager.d__33.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
at StorageServiceIntegration.Managers.StorageServiceManager.d__32.MoveNext() 

Как показать номер строки и код неисправности? Я использую .Net 4.6.1

+1

Ваше исключение выбрано потому, что учетная запись пользователя, под которой вы запускаете приложение, не имеет права создавать семафор. Эта проблема аналогична [Невозможно создать семафор в качестве стандартного пользователя в Windows 7] (http://stackoverflow.com/questions/14530886/cannot-create-a-semaphore-as-standard-user-on-windows-7) , – Serge

+0

не в моем случае, он может создавать семафор, потому что он делает вещь после семафора. WaitOne() и регистрируется в базе данных. –

+0

'async' не имеет ничего общего с стеком вызовов, возвращаемым исключением. Вам нужно иметь отладочные символы и/или исходный код библиотеки, чтобы видеть номера строк в стеке вызовов. –

ответ

2

Убедитесь, что вы построили режим отладки в Visual Studio.

+0

Собственно, это символы отладки для необходимых библиотек. Если StorageServiceIntegration является внешней dll без каких-либо символов отладки, компиляция в режиме отладки не приведет к созданию номеров строк –

Смежные вопросы