>Actually that is part of the problem -- misspelled variables, functions, etc. won't get caught until runtime. With language such as C, a lot of such problems do get caught during compile time -- and lint serves to catch other potential problems that won't get caught at compile-time. I find that misspellings are often hard to spot as the brain has a tendency to auto-correct for you. There are also occasions where I'd run into problems resulting from the auto-scoping of variables to PRIVATE resulted in a hard-to-debug situations.
>>>In general looking for something that could warn me of possible problems such as undefined variable, function, procedure, property, method, table, field, etc. Sure, one could hand-check each module, but it is not only boring and tedious, but because of it it's likely you'll miss stuff..
If you are able to run parts of your system in design mode then most of the errors should pop up right away. Next to having design time running of
procedures it is not bad idea to have somewhere full size test implementation. Meaning system which is exactly the same as production system
but without being 'live' running on 'virgin' machines which have no VFP installed and most importantly none of the source code/projetcts/forms etc.
If some of functionality is not properly included/compiled in EXE (which is most usual blooper) or some variables are not properly initiated they should finally pop up at this point. Provided enough testing was performed of course.
Next to what Craig suggested, virtual machines (hyper-v) can be your very good friends as well. :)