调试了一上午的愚蠢BUG

    技术2022-05-19  25

    晚上没事写了个C# ODBC程序练练手。

     

    在一个循环上卡住了。

     

    循环只能进行254次,255次出错。

    开始以为是第255条数据有问题,检查发现没问题。

     

    看到255,第一个反应就是Byte或者Char类型的变量越界导致循环不能进行。

    仔细的检查了下,没有类似错误。

    最后查线程,查变量,终于找到了。。。

     

    原来是ODBCDataReader的问题。

    ODBC默认只能开254个Reader,当试图建立第255个的时候会报错,但是会分到偶然性BUG里面。

     

    解决方法也很简单,用完的Reader马上给析构掉就可以了。。。

     

    真是,小错误往往很难发现啊,养成良好代码习惯真的很重要。


    最新回复(0)