Author Archives: daveti

Unknown's avatar

About daveti

Interested in kernel hacking, compilers, machine learning and guitars.

Valgrind – dynamic code analysis tool – part III – Helgrind

Valgrind – Helgrind – concurrency issue detection. # Helgrind http://valgrind.org/docs/manual/hg-manual.html –tool=helgrind [root@localhost valgrindTest]# cat simpleDataRace.c /* Code from Valgrind Manual */ #include <pthread.h> int var = 0; void* child_fn ( void* arg ) { var++; /* Unprotected relative to parent … Continue reading

Posted in Static Code Analysis | Tagged , , | 1 Comment

Valgrind – dynamic code analysis tool – part II – fd leak

Valgrind – File descriptor (fd) leak detection trial # File descriptor (fd) leak detection –track-fds=yes [root@localhost valgrindTest]# cat fdLeakTry.c /* daveti’s stupid code for fd leak */ #include <stdio.h> int main( int argc, char *argv[]) { FILE *fdPtr = fopen(“daveti.log”, … Continue reading

Posted in Static Code Analysis | Tagged , , | Leave a comment

Valgrind – dynamic code analysis tool – part I – basic trial and hints

We are recently trying to find a tool providing the ability for concurrency issue detection. For this topic, generally, I believe in 3 steps: 1. CPR (capacity, performance, redundancy) testing, 2. Static code analysis, 3. Dynamic code analysis. CPR testing … Continue reading

Posted in Static Code Analysis | Tagged , , , | 1 Comment

bind() error 0x63 – Cannot assign requested address

Recently encountered a bind() error 0x63 – cannot assign requested address. After some effort on debugging, I list 2 possibilities here for reference when handling such this error code from bind().  Generally, if it is related with bad socket close/cleanup, … Continue reading

Posted in Programming | Tagged , , , | Leave a comment

gprof and dot – some hints using gprof, gprof2dot and dot

Recently done a performance tuning using gprof, gprof2dot and dot. While there are already a lot of webs talking about them respectively or generally. This post is trying to provide some hints from my real experience, as well as some … Continue reading

Posted in IDE_Make, Programming, Stuff about Compiler | Tagged , , | Leave a comment

A bad include in C – why static code analysis is needed for modern C/C++ projects

We have already had a long discussion and argument for ‘include’ mechanism in C/C++, no matter good or bad, and this is not my intention here. I am writing this post to show a confusing compiler error we have recently … Continue reading

Posted in Programming, Static Code Analysis, Stuff about Compiler | Tagged , , | Leave a comment

csve – csv file evolver

Csv file, short for Comma Separated Version file, is usually a easy and common way to record [field:value] in multiple lines with all fields and values separated by comma, which is the basic data file of Microsoft Excel, as well … Continue reading

Posted in Dave's Tools, Programming | Tagged , , | Leave a comment

cccmt – Coverity code complexity metrics tool

cccmt is used to parse the METRICS.errors.xml generated by cov-analyze of Coverity to produce a Code Complexity Metrics (CCM) report of different functions. SAX is used to parse XML file instead of DOM as the XML file may be very … Continue reading

Posted in Dave's Tools, Programming, Static Code Analysis | Tagged , , , , , , | Leave a comment

itevad – How to write your own protocol and its stack – part 9

Previous_Part_8 Now we are moving to the last post of ‘itevad’ – writing a stack for decoding text format of Itevad Protocol using Flex and Bison as well as C as a main function. Being different with previous Flex and … Continue reading

Posted in Dave's Tools, H.248/MEGACO/EGCP, Programming, Stuff about Compiler | Tagged , , | Leave a comment

itevad – How to write your own protocol and its stack – part 8

Previous_Part_7 After writing a Flex standalone lexer, we are going to make it a little bit useful – adding parser, Bison. When Flex and Bison work together, standalone flex file needs some changes to cooperate with Bison, as you will … Continue reading

Posted in Dave's Tools, H.248/MEGACO/EGCP, Programming, Stuff about Compiler | Tagged , , | Leave a comment