sqlnclir.rll загружается и выгружается непрерывно - PullRequest
1 голос
/ 21 ноября 2008

Я работаю с SQL Native Client 9 в приложении C ++, которое взаимодействует с SQL Server 2000. Я сейчас работаю над отладкой, но кое-что, что я заметил, беспокоит меня (в основном потому, что это создает значительный беспорядок) что sqlnclir.rll загружается и выгружается непрерывно, и в мое окно вывода отладки поступают следующие строки:

'my_app.exe': Loaded 'C:\WINDOWS\system32\sqlnclir.rll', Binary was not built with debug information.
The thread 'Win32 Thread' (0x9f4) has exited with code 0 (0x0).
'my_app.exe': Unloaded 'C:\WINDOWS\system32\sqlnclir.rll'

Идентификатор после «Win32 Thread» изменяется, но код выхода всегда равен 0.

Почему .rll загружается и выгружается постоянно, как это, и как я могу предотвратить это?

Если вышеприведенный вопрос не является возможным вопросом, как я могу предотвратить рассылку вышеуказанных сообщений в окно «Отладочный вывод» в MSVC 2005? В идеале, только для этого конкретного набора сообщений?

1 Ответ

1 голос
/ 21 ноября 2008

Обычно это происходит из-за того, что приложение (или, в данном случае, связанная библиотека) динамически загружается и выгружается через LoadLibrary [Ex] и т. Д. Возможно, это также создает / уничтожает поток в процессе.

Я не знаю ни одного способа подавления отдельных выходных сообщений отладки. Вы можете быть в состоянии предотвратить конкретную повторную загрузку / выгрузку, загрузив библиотеку самостоятельно и удерживая ее за ручку на время вызовов (что должно помешать ОС ее разгрузить). Однако это не очень хорошее общее решение (например, библиотека может быть [плохо] закодирована, чтобы полагаться на то, что DLL не инициализируется между каждым вызовом, и в этом случае обходной путь может изменить поведение).

На более высоком уровне, поддерживая подключение открытым к базе данных, можно выполнить то же самое, но это зависит от реализации собственной клиентской библиотеки SQL. Это то, что я, вероятно, попытался бы (или просто игнорировать вывод трассировки отладки).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...