デバッグ文をデバッグしました。
CBR Client: Node 19 created new cbr client structure
localAddr = 0.0.0.19
remoteAddr = 0.0.0.17
interval = 5.000000000
sessionStart = 70.000000000S
セグメントエラー (coreを出力しました)
となったはずなので、下記の場所において、
../libraries/developer/src/app_cbr.cpp
833 #ifdef DEBUG
834 {
835 char clockStr[MAX_STRING_LENGTH];
836 char localAddrStr[MAX_STRING_LENGTH];
837 char remoteAddrStr[MAX_STRING_LENGTH];
838
839 IO_ConvertIpAddressToString(&cbrClient->localAddr, localAddrStr);
840 IO_ConvertIpAddressToString(&cbrClient->remoteAddr, remoteAddrStr);
841
842 printf("CBR Client: Node %u created new cbr client structure\n",
843 node->nodeId);
844 printf(" localAddr = %s\n", localAddrStr);
845 printf(" remoteAddr = %s\n", remoteAddrStr);
846 TIME_PrintClockInSecond(cbrClient->interval, clockStr);
847 printf(" interval = %s\n", clockStr);
848 TIME_PrintClockInSecond(cbrClient->sessionStart, clockStr, node);
849 printf(" sessionStart = %sS\n", clockStr);
850 printf(" numBytesSent = %u\n", cbrClient->numBytesSent);
851 printf(" numPktsSent = %u\n", cbrClient->numPktsSent);
852 printf(" itemsToSend = %u\n", cbrClient->itemsToSend);
853 printf(" itemSize = %u\n", cbrClient->itemSize);
854 printf(" sourcePort = %ld\n", cbrClient->sourcePort);
855 printf(" seqNo = %ld\n", cbrClient->seqNo);
856 }
857 #endif /* DEBUG */
new D_Int64Obj(&cbrClient->numBytesSent));
しているにもかかわらず、
850 printf(" numBytesSent = %u\n", cbrClient->numBytesSent);
で、printfしているからです。
32bitコンパイラ(Linux)の場合は、
850 printf(" numBytesSent = %llu\n", (Int64) cbrClient->numBytesSent);
で大丈夫です。
CBR Client: Node 19 created new cbr client structure
localAddr = 0.0.0.19
remoteAddr = 0.0.0.17
interval = 5.000000000
sessionStart = 70.000000000S
numBytesSent = 0
numPktsSent = 0
itemsToSend = 10000
itemSize = 512
sourcePort = 1024
seqNo = 0
CBR Client: Node 19 starting client at 70.000000000S