Size: 1116
Comment:
|
Size: 2368
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#acl Markus Naether:read,write all:read | #acl adpult:read,write Natalie Prange:read,write All:read |
Line 3: | Line 3: |
= Asking on a Forum = | = Asking on the Forum for one of our courses = |
Line 5: | Line 5: |
When you are going to ask a question on a forum, please follow these steps. | {{{ #!html <p style="color:darkred;font-weight:bold">Please read these short guidelines carefully when you participate in one of our courses. If you ignore them, you risk getting a suboptimal answer for your question on the forum, or no answer at all. We are eager to help you, but you also have to help us so that we can help you.</p> }}} |
Line 7: | Line 10: |
0.#0 Use google and the search of the forum ([[https://daphne.informatik.uni-freiburg.de/forum/search.php|Search in Daphne]]) | == Before asking on the forum == |
Line 9: | Line 12: |
1. Include the complete error message using '''copy-and-paste''' and do '''not''' write your own! | 1. Spend a few minutes trying to find the error yourself. But don't spend too much time, and ask before you get frustrated and lose motivation |
Line 11: | Line 14: |
2. Include '''relevant''' parts of your code '''with''' line numbers. Without line numbers nobody can guess which part has problems. | 2. When your problem is associated with an error message, first try googling (a suitable part of) that error message. In many cases, this leads to a page on !StackOverflow or a similar site with an explanation of the solution. |
Line 13: | Line 16: |
3. If a function-call is included, show the '''header/signature and code''' (e.g. in C++ relevant parts of '''both''' .h and .cpp). | 3. Check the forum of the course if others have already asked the same question. You can just look over the list of topics or use the [[https://daphne.informatik.uni-freiburg.de/forum/search.php|search function]]. == Asking on the forum == |
Line 15: | Line 20: |
4. If it's a memory management error ("''segmentation fault''", "''Speicherzugriffsfehler''", "''memory corruption''") or if it does not occur on Jenkins/it is not always reproducible: 1. Use a debugger (for C++ ''gdb'') 2. Use a memory profiler (for C++ ''valgrind'') 3. Post logs from both if it didn't help locating and fixing the error. |
1. Include a sufficient portion of the error message. Use '''copy and paste''' and don't rephrase the error in your own words. |
Line 20: | Line 22: |
5. Commit the current state to the svn. | 2. If the error message points to a part of your code, '''include the relevant code with line numbers'''. Sometimes more than one line of code is needed to understand what you did. But don't include your whole code! |
Line 22: | Line 24: |
6. Write that the error is produced by the version in the svn. | {{{ #!html <p style="color:darkred;font-weight:bold">3. ALWAYS make sure that the version of the code which produces the error is committed to the SVN (without us having to ask first). But don't just say: the code is in the SVN, please find my error. That is NOT how it works. It's just a backup, in case the information you post along with your question is not sufficient for us to help you.</p> }}} == For C++ only == 1. If your code behaves unexpectedly, use ''gdb'' to find out where your code crashed (in case of a segmentation fault or similar error) or to set a breakpoint (at a suitable position in the code, to find out the values of suitable variables at that position). 2. If you suspect a memory aspect error, use ''valgrind'' (very slow) or use the ''address sanitizer'' (compile with option ''-fsanitize=address -fno-omit-frame-pointer'', much faster and often good enough). |
Asking on the Forum for one of our courses
Please read these short guidelines carefully when you participate in one of our courses. If you ignore them, you risk getting a suboptimal answer for your question on the forum, or no answer at all. We are eager to help you, but you also have to help us so that we can help you.
Before asking on the forum
1. Spend a few minutes trying to find the error yourself. But don't spend too much time, and ask before you get frustrated and lose motivation
2. When your problem is associated with an error message, first try googling (a suitable part of) that error message. In many cases, this leads to a page on StackOverflow or a similar site with an explanation of the solution.
3. Check the forum of the course if others have already asked the same question. You can just look over the list of topics or use the search function.
Asking on the forum
1. Include a sufficient portion of the error message. Use copy and paste and don't rephrase the error in your own words.
2. If the error message points to a part of your code, include the relevant code with line numbers. Sometimes more than one line of code is needed to understand what you did. But don't include your whole code!
3. ALWAYS make sure that the version of the code which produces the error is committed to the SVN (without us having to ask first). But don't just say: the code is in the SVN, please find my error. That is NOT how it works. It's just a backup, in case the information you post along with your question is not sufficient for us to help you.
For C++ only
1. If your code behaves unexpectedly, use gdb to find out where your code crashed (in case of a segmentation fault or similar error) or to set a breakpoint (at a suitable position in the code, to find out the values of suitable variables at that position).
2. If you suspect a memory aspect error, use valgrind (very slow) or use the address sanitizer (compile with option -fsanitize=address -fno-omit-frame-pointer, much faster and often good enough).