#c#
#c#
Вопрос:
Я использую стороннюю библиотеку, которая использует C # DLL для доступа к ресурсам, которые, в свою очередь, используют сопоставление памяти с средой выполнения C . Эта третья сторона — SkypeKit, которая больше не разрабатывается.
Неожиданно я получил исключение (приложение работало несколько дней) "Shared Memory Key Overflow"
. Трассировка стека не предоставляет ни одной из моих подпрограмм, чтобы я мог перехватывать ее там, где это происходит, и исправлять на лету, и в настоящее время я использую ее в коде приложения в качестве конечного подхода для перехвата исключений и корректного восстановления приложения.
Есть ли какой-либо способ справиться с этой проблемой с памятью, когда она вызвана вне моего кода, или способ проанализировать ее подробнее, чтобы выяснить, почему это произошло?
Приветствия.
Трассировка стека
6/12/2014-6:47:54 ВЕЧЕРА: ОТЛАДКА: система трассировки стека.Исключение: переполнение ключа общей памяти. Память не хочет быть общей. в SkypeKit.SharedMemoryChannel.Создайте отображение (размером UInt32) в SkypeKit.FrameTransport..ctor() на SkypeKit.SktVideoRenderer.Запустите () на SkypeKit.SktVideoRenderer.Отметка времени (отправитель объекта, EventArgs e)
в системе.Windows.Многопоточность.Таймер отправки.FireTick (неиспользуемый объект)
в системе.Windows.Многопоточность.Обертка исключений.InternalRealCall(обратный вызов делегата, аргументы объекта, Int32 numArgs) в MS.Internal.Многопоточность.ExceptionFilterHelper.TryCatchWhen(источник объекта, метод делегирования, аргументы объекта, Int32 numArgs, catchHandler делегирования) в системе.Windows.Многопоточность.Диспетчер.WrappedInvoke(обратный вызов делегата, аргументы объекта, Int32 numArgs, делегат catchHandler) в системе.Windows.Многопоточность.Диспетчерская операция.Вызовите IMPL() в системе.Многопоточность.ExecutionContext.runTryCode(объект userData) в System.Runtime.Сервисы компилятора.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) в системе.Многопоточность.ExecutionContext.Run(ExecutionContext ExecutionContext, обратный вызов ContextCallback, состояние объекта, логическое игнорирование SyncCtx) в системе.Многопоточность.ExecutionContext.Run(ExecutionContext ExecutionContext, обратный вызов ContextCallback, состояние объекта) в системе.Windows.Многопоточность.Диспетчерская операция.Вызвать () в системе.Windows.Многопоточность.Диспетчер.ProcessQueue() в системе.Windows.Многопоточность.Диспетчер.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, логическое значение и обрабатывается) в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, логическое значение и обрабатывается) в MS Win32.HwndSubclass.DispatcherCallbackOperation(объект o) в системе.Windows.Многопоточность.Обертка исключений.InternalRealCall(обратный вызов делегата, аргументы объекта, Int32 numArgs) в MS.Internal.Многопоточность.ExceptionFilterHelper.TryCatchWhen(источник объекта, метод делегирования, аргументы объекта, Int32 numArgs, catchHandler делегирования) в системе.Windows.Многопоточность.Диспетчер.WrappedInvoke(обратный вызов делегата, аргументы объекта, Int32 numArgs, делегат catchHandler) в системе.Windows.Многопоточность.Диспетчер.Вызовите IMPL(приоритет приоритета диспетчера, тайм-аут времени, метод делегирования, аргументы объекта, numArgs Int32) в MS.Win32.HwndSubclass.Подкласс WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) в MS Win32.Небезопасные методы.Отправка сообщений (сообщений и сообщений) в системе.Windows.Многопоточность.Dispatcher.PushFrameImpl(фрейм DispatcherFrame) в системе.Windows.Окно.ShowHelper(объект booleanBox) в системе.Windows.Окно.ShowDialog() в A.c8b9966635edfd27b3cf3481492785b16.Configurator_Click(отправитель объекта, RoutedEventArgs e) в системе.Windows.Маршрут событий.InvokeHandlersImpl(источник объекта, аргументы RoutedEventArgs, логическое значение повторно вызывается) в системе.Windows.UIElement.Поднимите eventimpl(DependencyObject sender, RoutedEventArgs args) в системе.Windows.Элементы управления.Кнопка.OnClick()
в системе.Windows.Элементы управления.Примитивы.База кнопок.OnMouseLeftButtonUp(MouseButtonEventArgs e) в системе.Windows.RoutedEventArgs.InvokeHandler(обработчик делегирования, целевой объект) в системе.Windows.Маршрут событий.InvokeHandlersImpl(источник объекта, аргументы RoutedEventArgs, логическое значение повторно вызывается) в системе.Windows.UIElement.Повторно вызывайте события (DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent) в системе.Windows.RoutedEventArgs.InvokeHandler(обработчик делегирования, целевой объект) в системе.Windows.Маршрут событий.InvokeHandlersImpl(источник объекта, аргументы RoutedEventArgs, логическое значение повторно вызывается) в системе.Windows.UIElement.Поднимите eventimpl(DependencyObject sender, RoutedEventArgs args) в системе.Windows.UIElement.Поднимите значение routedeventevent(RoutedEventArgs args) в системе.Windows.Ввод.InputManager.ProcessStagingArea() в системе.Windows.Ввод.InputProviderSite.ReportInput(InputReport inputReport) в системе.Windows.Взаимодействие.HwndMouseInputProvider.ReportInput(IntPtr hwnd, режим ввода, временная метка Int32, действия RawMouseActions, Int32 x, Int32 y, колесо Int32) в системе.Windows.Взаимодействие.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, логическое значение и обрабатывается) в системе.Windows.Взаимодействие.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, логическое значение и обрабатывается) в MS Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, логическое значение и обрабатывается) в MS Win32.HwndSubclass.DispatcherCallbackOperation(объект o) в системе.Windows.Многопоточность.Обертка исключений.InternalRealCall(обратный вызов делегата, аргументы объекта, Int32 numArgs) в MS.Internal.Многопоточность.ExceptionFilterHelper.TryCatchWhen(источник объекта, метод делегирования, аргументы объекта, Int32 numArgs, catchHandler делегирования) в системе.Windows.Многопоточность.Диспетчер.WrappedInvoke(обратный вызов делегата, аргументы объекта, Int32 numArgs, делегат catchHandler) в системе.Windows.Многопоточность.Диспетчер.Вызовите IMPL(приоритет приоритета диспетчера, тайм-аут времени, метод делегирования, аргументы объекта, число Int32) в MS.Win32.HwndSubclass.Подкласс WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) в MS Win32.Небезопасные методы.Отправка сообщений (сообщений и сообщений) в системе.Windows.Многопоточность.Диспетчер.PushFrameImpl(фрейм DispatcherFrame) в системе.Windows.Окно.ShowHelper(объект booleanBox) в системе.Windows.Окно.ShowDialog() на сайте вызова.Цель (закрытие, сайт вызова, объект) в системе.Динамический.UpdateDelegates.UpdateAndExecute1[T0,TRet](сайт сайта вызова, T0 arg0) в (Объект, сайт вызова, объект) в A.c7f72f7dfd341bf9a74e5c8753c372d7b.OnStartup(StartupEventArgs e)
Комментарии:
1. Опубликуйте все сведения об исключении. Возможно, они позволяют узнать больше о причине исключения.
2. Добавлена трассировка стека.