Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

GCC Debugging/Draft

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

New content \ idea test page Posssible Book Guidelines About the book \ What is "GCC Debugging" Goals: verbose, easy to understand, manual cover troubleshooting with GCC make removing bugs a less painful \ time consuming process Intended audience: new gcc users with some experience in programming language being used Style: common language (not overly technical) Book Scope: gcc g++ gdb other compilers? Error and Warning pages should include: Verbose explanation of error message GCC Version(s) found in Earlier Versions of messages? Sample code that would cause the message to be displayed Fixes to get rid of trouble message (depending on cause) Error Page Layout 1 Notes on bottom, error causes are level 3 headings under level 2, "causes" Page Title... ==Causes== ===<Possible Error Cause>=== <syntaxhighlight lang="cpp"> // source code producing error </syntaxhighlight> ''' Solutions''' What to change... <syntaxhighlight lang="cpp"> // source code fixing error </syntaxhighlight> ==Notes== *Message found in gcc versions x.x.x to x.x.x <noinclude>{{displaytitle|title=Full Error Message}}</noinclude> {{BookCat}} example: Page Title... Causes Arguments in a function call do not match those in any function declaration For example, a function, "foo", is called from inside main with an argument that is not a perfect match for any of the currently existing implementations of "foo". void foo(int x); void foo(double x); int main () { long x = 5000; foo(x); ... Solutions Cast the argument to match a declaration int main () { long x = 5000; foo((int)x); Create a new, overloaded version of the called function to match the arguments void foo(int x); void foo(double x); void foo(long x); int main () { long x = 5000; foo(x); The same function is defined more then once Look for a misspelled or duplicate function definition/declaration Notes Message found in gcc version 4.5.1 Error Page Layout 2 Notes on top, causes are level 2 headings instead of 3 Page Title... example of error message <!-- Make below an info box? --> '''Found in:''' gcc versions x.x.x to x.x.x '''Past Versions:''' <!-- If there are any --> example of error message '''Found in:''' gcc versions x.x.x to x.x.x '''See Also:''' similar error messages? '''Causes:''' ==<Possible Error Cause>== <syntaxhighlight lang="cpp"> // source code producing error </syntaxhighlight> '''Solutions''' What to change... <syntaxhighlight lang="cpp"> // source code fixing error </syntaxhighlight> <noinclude>{{displaytitle|title=Full Error Message}}</noinclude> {{BookCat}} example: Page Title... foo.cpp:23:12 call of overloaded 'foo' is ambiguous Found in: gcc versions x.x.x to 4.5.1 Causes: Arguments in a function call do not match those in any function declaration For example, a function, "foo", is called from inside main with an argument that is not a perfect match for any of the currently existing implementations of "foo". void foo(int x); void foo(double x); int main () { long x = 5000; foo(x); ... Solutions Cast the argument to match a declaration int main () { long x = 5000; foo((int)x); Create a new, overloaded version of the called function to match the arguments void foo(int x); void foo(double x); void foo(long x); int main () { long x = 5000; foo(x); The same function is defined more then once Look for a misspelled or duplicate function definition/declaration