I'm working through Vakil's notes about algebraic geometry right now, still in the first chapters, and one of the main results in section 2.5 is, that "Exactness of sequences can be checked on stalks". Then one shows that taking the stalk at a point $p$ is an exact functor. But what does that sentence mean? Sure, if have a exact sequence of sheaves I will get a exact sequence of stalks. But what about the other direction? Sure, taking stalks and taking images and kernels and whatnot commute, but how do we get that for example if $ker(\phi)_p=im(\psi)_p$ holds for all $p$ that also $ker(\phi)=im(\psi)$ is true in the category of sheaves? I'm hesitant because he writes in his notes before that an isomorphism on all stalks doesn't imply an isomorphism of the sheaves.
Maybe it's a naive question but I'm still very new to the subject. A somewhat related question: What about the 'taking sections over $U$'- functor? Since this is left-exact, can i somehow also check left-exact sequences on sections?
Glad for any advice!



This is something to be concerned about; it's not true in full generality!
It turns out that the category of sheaves on a topological space satisfies an important technical condition: it has "enough points".
A topos is said to have enough points if, for every $f : X \to Y$, the following are equivalent:
Here is the relevant page from the Stacks project.
Regarding your comment
I assume you're subtly misinterpreting his statement. What is possible is that you have two sheaves $F$ and $G$ on a topological space such that:
The key point is that the hypothesis here is merely the assertion "there exists an isomorphism" for each $p$. This is much weaker than "the specific morphism $f_p$ is an isomorphism".
Checking left exactness by taking sections follows from the facts:
Letting $\mathbf{a}: \mathrm{PSh} \to \mathrm{Sh}$ be sheafification (which is left exact) and $\mathbf{i} : \mathrm{Sh} \to \mathrm{PSh}$ be the forgetful functor (which is left continuous), we have for any finite diagram $F : J \to \mathrm{Sh}$:
$$ \lim_j F_j = \lim_j \mathbf{ai}F_j = a \left( \lim_j \mathbf{i}F_j \right)$$
and the presheaf is computed pointwise by
$$ \left( \lim_j \mathbf{i}F_j \right)(U) = \left( \lim_j \mathbf{i}F_j(U) \right) $$
Of course, $\mathbf{i}F_j(U) = F_j(U)$ if your site is subcanonical; i.e. if representable presheaves are sheaves. But I'll continue stating things in the general case.
So if you have a cone $L \to F$ with the property that $\mathbf{i}L(U) \to \mathbf{i}F(U)$ is a limit cone for every $U$, then $\mathbf{i}L \to \mathbf{i}F$ is a limit cone, and thus $L \to F$ is a limit cone.