正在连续加载和卸载sqlnclir.rll 我正在与SQL Server 2000通信的C++应用程序中使用SQL本地客户端9。我现在正在进行调试,但我注意到困扰我的一件事(主要是因为它造成了严重的混乱)是sqlnclir.rll正在不断地加载和卸载,下面的几行正在垃圾发送到我的调试输出窗口

正在连续加载和卸载sqlnclir.rll 我正在与SQL Server 2000通信的C++应用程序中使用SQL本地客户端9。我现在正在进行调试,但我注意到困扰我的一件事(主要是因为它造成了严重的混乱)是sqlnclir.rll正在不断地加载和卸载,下面的几行正在垃圾发送到我的调试输出窗口,c++,sql-server,visual-c++,sqlncli,C++,Sql Server,Visual C++,Sqlncli,“Win32 Thread”之后的ID更改,但退出代码始终为0 为什么.rll会像这样不断地加载和卸载?我如何防止这种情况发生 如果上述问题无法回答,如何防止上述消息被垃圾邮件发送到MSVC 2005中的调试输出窗口?理想情况下,仅针对特定的消息集?这通常是由于应用程序(或在本例中是链接库)通过LoadLibrary[Ex]等动态加载和卸载。它可能还在过程中创建/销毁线程 我不知道有什么方法可以抑制单个调试输出消息。您可以通过自己加载库并在调用期间保持其句柄来防止特定的重复加载/卸载(这将防止操

“Win32 Thread”之后的ID更改,但退出代码始终为0

为什么.rll会像这样不断地加载和卸载?我如何防止这种情况发生


如果上述问题无法回答,如何防止上述消息被垃圾邮件发送到MSVC 2005中的调试输出窗口?理想情况下,仅针对特定的消息集?

这通常是由于应用程序(或在本例中是链接库)通过LoadLibrary[Ex]等动态加载和卸载。它可能还在过程中创建/销毁线程

我不知道有什么方法可以抑制单个调试输出消息。您可以通过自己加载库并在调用期间保持其句柄来防止特定的重复加载/卸载(这将防止操作系统卸载它)。但是,这并不是一个好的通用解决方案(例如,库可能[糟糕]编码为依赖于在每次调用之间未初始化的DLL,在这种情况下,变通方法可能会改变行为)


在更高的级别上,保持与数据库的连接打开可能完成同样的任务,但这取决于SQL本机客户端库的实现。这就是我可能会尝试的(或者忽略调试跟踪输出)。

通常这是由于应用程序(或者在本例中是链接库)通过LoadLibrary[Ex]等动态加载和卸载。它可能还在过程中创建/销毁线程

我不知道有什么方法可以抑制单个调试输出消息。您可以通过自己加载库并在调用期间保持其句柄来防止特定的重复加载/卸载(这将防止操作系统卸载它)。但是,这并不是一个好的通用解决方案(例如,库可能[糟糕]编码为依赖于在每次调用之间未初始化的DLL,在这种情况下,变通方法可能会改变行为)

在更高的级别上,保持与数据库的连接打开可能完成同样的任务,但这取决于SQL本机客户端库的实现。不过,我可能会尝试这样做(或者忽略调试跟踪输出)

'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'