You do not necessarily require a special tool to make code reviews work, what you need to do is make sure you have your process correct and that everyone is using the process. A tool can help with this.
What is important, if you want to use code reviews, is that they are included into your development process (or work flow) so we have always managed code reviews through the issue tracker we use (Bugzilla) changing the default process to include a code review step so that every change is reviewed before being released. In addition to that we performed a number of baseline reviews, i.e. not reviewing a change but reviewing what is already there which were managed by creating specific tasks in Bugzilla to perform the review and then assigning them to someone.
A number of issue trackers either have built in support for code reviews or have the ability to have 3rd party code review software integrated into them e.g. GitHub is a source repository that supports code reviews as a part of the work flow.
Another thing that we have found useful is to have a check list that each code review is performed against
- Does the code conform to the company coding standard as documented in DOC123-Company Coding Standard?
- Is the code adequetly commented?
- Are the variables sensible?
- Are all pointers handled correctly?
- Is the logic of the code correctly implemented in the simplest manner?
- etc
We particularly used this for baseline reviews.
You need to decide what you want to achieve with a code review, look at what tools you are already using and then look for Code Review Software that integrates with the toolset you are already using and supports your intended goals. As I said once we had done that we decided that the issue tracker we had provided the features we needed and no additional software was required.
Finally whatever you intend to do document it, then review the document with your peers/programmers/reviewers, so that it is clear what the intent is and how the process works especially to anyone who joins your team.