To 楼主:
你所说的不是Loadrunner的bug,是你的用法不对。LoadRunner在跑虚拟用户的时候是每50个用户会启动一个进程(LR说明书有,通过任务管理器也能观察到),楼主代码里面在写日志文件的时候用的是线程锁而不是进程锁,因此50个用户不会出问题,100个用户由于启动了两个进程在并发时当然有可能出问题。
另外,你用的是UDP,我敢肯定你的发包程序本身就不是线程安全的,要是你改成TCP还会出更多的错误。用写DLL方式测C/S的时候,DLL里面申请的变量(包括socket),一定要做到线程安全才行,请参考核心编程的线程本地存储TLS这一节,否则会出意想不到的错误。
还有,写DLL的时候还要在dllmain函数里面对DLL_PROCESS_ATTACH,DLL_THREAD_ATTACH,DLL_THREAD_DETACH,DLL_PROCESS_DETACH单独进行处理。