Tips and Tricks For ANSI C Programmers Using LabWindowsCVI
Tips and Tricks For ANSI C Programmers Using LabWindowsCVI
com
ni.com
ni.com
Agenda
1.
2.
3.
4.
5.
6.
ni.com
About Me
ni.com
ni.com
ni.com
Assignments in conditionals
Uninitialized local variables
Unreferenced local variables
Unreachable code
Pointer and sign conversions
Improper char array initialization
Static array bounds checking
Dangling else constructs
Macro redefinition
Operator precedence problems
ni.com
ni.com
int i;
i = 100 << 10+2;
if (a == 1)
if (b == 1)
a = 42;
else
b = 42;
Assignments in conditionals
Uninitialized local variables
Unreferenced local variables
Unreachable code
Pointer and sign conversions
Improper char array initialization
Static array bounds checking
Dangling else constructs
Macro redefinition
Operator precedence problems
ni.com
10
ni.com
11
printf, SetCtrlAttribute
ni.com
12
Asserts
ni.com
13
Error checking!
Error:
return error;
}
ni.com
14
Variables window
Variables window
Editable data tooltips
Watch expressions
Break On Change
ni.com
Conditional breakpoints
15
Inspect/modify memory
Memory window
ni.com
16
ni.com
17
2.
ni.com
18
2.
ni.com
DebugPrintf
19
ni.com
20
Conditional compilation
o
o
ni.com
Race conditions
Different timing of processed events
Communication with hardware
21
ni.com
22
Windows Sysinternals
ni.com
http://www.sysinternals.com
DebugView
ProcessExplorer
Many more
23
Summary
ni.com
24
ni.com
Thank you!
ni.com
ni.com
27