开发中遇到的几个问题

时间:2022-01-03 14:50:49
(一)java程序跟踪C程序
用C写成了ODBC driver,实现JDBC的时候为了再次利用ODBCDriver,接在JDBC接口下面写了一层Wraper代码。现在为了调试BUG,需要首先作成Java的测试用例,得益于Wraper和ODBC driver里都有snap语句,可以得到调用ODBC 底层函数的SNAP文件,据此写出C的测试用例,设置断点,引用c的dll,单步跟踪。
但是C作成测试用例比较麻烦,而且需要设置很多ODBC层函数的参数,容易出错,现在有一种方法直接从JAVA跟进C工程:
a.打开dll工程的property-Configuration Properties-Debugging
b.设置Command为Java。exe的路径
c.设置Command Arguments为:-cp "bin;%classpath%"  CLI.TestSQLCancel
其中 bin是指java工程的bin目录,%classpath%则指调用系统默认路径,后面的 CLI TestSQLCancel分别是相对路径下的目录和java文件,即java测试程序
d.设置woking Directory指java工程目录

(二)内码问题
使用多种语言的时候,最重要的莫过于对内码的设置
Symfoware服务器端默认为shift-jis,而客户端很多OS都是设置成了UTF-8
中日韩文字所占用的UTF8段就不说了,需要明确大多数时候是3Byte
所以从客户端想服务器端发送数据的时候需要考虑内码转换
今天测试一个txt文件,一直不能成功
后来Leader过来看了一下,txt比实际大小多了两个字节
又创建了相同内容的文件,就解决问题了
最后猜测可能是使用各种编辑器对文件做了转码处理,会在原有的字符串前面加入内码标示符,以后需要注意