I will read the first few chapters to learn the basic knowledge. In the meantime, I will try my best to understand every example and run it. And then I will do something interesting such as writing a more complex program. Practice is my motivation to learn advanced topics. If I only read the book, I will lose interest quickly because this is very boring, especially for some difficult chapters.
After I think I have mastered the basic chapters, I will continue reading the subsequent contents. I won't try to understand everything in the advanced parts. Instead, I just read some useful content and treat other content as a technical dictionary so I can refer to it in the future.
I like learning a language/tool as quickly as possible, and then try to use it more skilled.
I once found a book called "Machine and Assembly Language Programming of the PDP-11" in our university library. It is very old and was published in the 1980s. It includes some interesting knowledge about two pass assembler, relocation and two pass linker.
If you want to use a powerful gdb visual interface, you may want to try DDD. However, DDD has an old-fashioned GUI which is very crude. I have tried several visual debugging tools, such as RedHat Insight, DDD, Nemiver and kdbg, but none of them is enough powerful or stable. As far as I know, DDD can't display non-English comments in source code.
Now I'm using an awesome GDB init file to construct a convenient debugging interface. It's an open source project and you won't regret it:
https://github.com/cyrus-and/gdb-dashboard
You are lucky. Some projects have difficulty because everyone wants to use it but no one wants to contribute to it. The inbox of the maintainers may be full filled with bug reports and they have to spend one or two hours to handle these problems. They are tired.
Although China's copyright law indeed protects people's work, open source software is still a gray area. As far as I know, there is no clear stipulation in China's law to judge whether software complies GPL or other licenses.
In China, open source licenses don't have any legal effect, so it's hard to safeguard legal rights. In recent years some open source organizations have been founded and they hope their efforts can change the environment of open source in China. However, there is still a long way to go.
.me is suitable for personal site and it is indeed a problem for a company. However, a takeaway website in China owns the domain "ele.me" which is easier for Chinese to pronounce it with Chinese phonetic alphabet.
Yeah, OpenGrok is also an awesome cross reference engine. However, its installation steps are a little difficult, especially for some non-web developer. I once wanted to host OpenGrok on my VPS, but I finally gave up :)